네, 맞습니다. 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 |