본문 바로가기

프로젝트 & TIL/일별 공부 기록 (백엔드 스쿨)

99일차 - Rest Repositories

Rest Repositories

- Repository로부터 REST API를 자동으로 만들어주는 기술

- Spring Data REST를 사용한다.

- 페이징, 정렬, 리미트를 사용할 수 있다.

- QueryDSL Extension을 함께 사용하면 큰 노력 없이 컬럼별 검색 기능까지 사용 가능하다.


실무에서는 많이 사용되지 않는 이유

- 도메인을 직접 API에 노출하는 것을 꺼림

- 복잡한 요구사항에 맞춰 API 설계를 하고 싶은 경우에는 부적합

- 설정을 제대로 하지 않으면 불필요한 API가 노출될 수 있음

- 실무에서 API는 필요에 따라 직접 만드는 편

 

사용을 고려할 수 있는 상황

- 내부에서 사용하는 애플리케이션을 만들 때

- 도메인이 복잡하지 않을 때

- 요구사항이 복잡하지 않고 심플한 CRUD로 구성되어 있을 때

- 빠르게 만들어야 할 때


의존성 추가

build.gradle

    implementation 'org.springframework.boot:spring-boot-starter-data-rest'

- 사용할 DB도 추가되어야 함

 

application.properties

# API
spring.data.rest.base-path=/api # base 경로 지정