네이버 클라우드 캠프

Spring Data REST

99duuk 2024. 6. 3. 10:52

네, 맞습니다. Spring Data REST를 사용하면, 별도의 컨트롤러 없이도 기본적인 CRUD 엔드포인트가 자동으로 생성됩니다. 따라서, CarRepository와 OwnerRepository를 정의하고, Spring Data REST 설정만 해주면, 기본적인 CRUD 엔드포인트를 사용할 수 있습니다.

OwnerCarController와 같은 컨트롤러는 필요하지 않습니다. 다만, 커스텀 로직을 추가하거나 특정한 비즈니스 로직을 수행할 필요가 있을 때는 별도로 컨트롤러를 정의할 수 있습니다.

 

 

 

자동 생성되는 엔드포인트

이 설정만으로도 Spring Data REST는 다음과 같은 엔드포인트를 자동으로 생성합니다:

Car 엔티티 관련 엔드포인트

  • GET /cars: 모든 Car 엔티티 조회
  • GET /cars/{id}: 특정 ID를 가진 Car 엔티티 조회
  • POST /cars: 새로운 Car 엔티티 생성
  • PUT /cars/{id}: 특정 ID를 가진 Car 엔티티 업데이트
  • PATCH /cars/{id}: 특정 ID를 가진 Car 엔티티 부분 업데이트
  • DELETE /cars/{id}: 특정 ID를 가진 Car 엔티티 삭제

Owner 엔티티 관련 엔드포인트

  • GET /owners: 모든 Owner 엔티티 조회
  • GET /owners/{id}: 특정 ID를 가진 Owner 엔티티 조회
  • POST /owners: 새로운 Owner 엔티티 생성
  • PUT /owners/{id}: 특정 ID를 가진 Owner 엔티티 업데이트
  • PATCH /owners/{id}: 특정 ID를 가진 Owner 엔티티 부분 업데이트
  • DELETE /owners/{id}: 특정 ID를 가진 Owner 엔티티 삭제

검색 엔드포인트

  • GET /cars/search/findByBrand?brand={brand}: 특정 브랜드를 가진 Car 엔티티 목록 조회
  • GET /cars/search/findByColor?color={color}: 특정 색상을 가진 Car 엔티티 목록 조회

 

추가적인 커스터마이징

기본 제공 엔드포인트 외에도 추가적인 비즈니스 로직이나 커스텀 엔드포인트가 필요하다면, 컨트롤러를 작성하여 사용할 수 있습니다. 예를 들어, 특정한 비즈니스 로직을 처리하는 엔드포인트를 추가할 수 있습니다.

이와 같이 필요한 경우 컨트롤러를 작성하여 추가적인 로직을 구현할 수 있습니다. 하지만 기본적인 CRUD 엔드포인트는 Spring Data REST를 통해 자동으로 제공되므로, 기본적인 CRUD 작업에는 별도의 컨트롤러가 필요하지 않습니다.

'네이버 클라우드 캠프' 카테고리의 다른 글

CSRF & 세션 관리  (0) 2024.06.04
시큐리티_UserDetailServiceImpl  (0) 2024.06.03
JWT  (0) 2024.06.01
claim  (0) 2024.06.01
React_{children}, import vs const-require  (0) 2024.05.31