Spring Data Rest

Spring-Data-REST를 활용한 빠른 API 개발(1)

쿠카이든 2022. 3. 31. 01:07
728x90
  • 편의상 새 프로젝트를 개발하였다(개발 환경을 셋팅함에 있어서 기존 것들과 Spring-Data-REST에서 필요한 버전과 맞추기가 쉽지 않았다).
  • 프로젝트 스택은 다음과 같음
    • Gradle 프로젝트
    • Java 11
    • Spring Boot 2.6.5
    • dependency
      • Spring Data JPA
      • H2 Database(인메모리 기반으로 간단한 확인 용도)
      • Spring Data REST
      • Lombok
  • CRUD를 개발할 때, 기존 JPA의 경우 Controller, Service, Repository, Entity를 만들어야 했다.
  • 반면, Spring Data REST 의 경우 Repository, Entity 만 개발하면 API의 CRUD를 만들 수 있다.
  • 2개의 클래스만 개발하면 CRUD가 가능하였다.
 
  • 1건을 입력 후, 다시 GET 메서드를 출력하면,
  • 정상적으로 데이터를 가져왔음을 알 수 있다.
  • 연관된 URI 주소를 같이 볼 수 있다
  • 페이징과 정렬도 지원됨을 볼 수 있다.
  • PUT, DELETE도 비슷하게 잘 동작함을 확인할 수 있었다.
  • 결론
    • 간단한 도메인 모델을 가지는 프로젝트에 반복적인 개발 시간을 줄일 수 있음
    • Restful API이기 때문에, 연관된 API 정보를 요청자가 알 수 있으므로 API문서를 조금 덜 볼 수 있음
    • 고정된 Restful 형식을 가지기 때문에 이에 대한 활용도를 높이기 위해서는 Restful API 및 Spring Data REST에서 지원되는 기능에 대해 이해도가 높아야 할 것 같음
728x90