도메인 : 애플리케이션의 이해에 필요한 개념을 다루는 영역
도메인을 정의할 때는 속성과 속성들을 초기화하는 생성자와 여러 메서드가 필요한데 Lombok 라이브러리를 이용하면 이러한 메서드들은 런타임 시에 자동으로 생성할 수 있다.
컨트롤러의 역할
| 메서드 | 의미 | 주요 용도 | 멱등성(Idempotent) | 안전(Safe) |
|---|---|---|---|---|
GET | 조회 | 리소스 조회 | O | O |
POST | 생성 | 리소스 생성, 처리 요청 | X | X |
PUT | 전체 수정 | 리소스 전체를 교체 | O | X |
DELETE | 삭제 | 리소스 삭제 | O | X |
PATCH | 부분 수정 | 리소스 일부 수정 | X | X |
유효성 검사는 검사를 위한 메서드에 if/then을 추가하여 가능하지만 해당 방법은 매우 번거롭고 코드 파악과 디버깅이 어렵다. 따라서 스프링에서 제공하는 자바의 빈 유효성 검사 API를 통해 유효성 검사 규칙을 선언한다.
스프링 부트에서 제공하는 Hibernate 컴포넌트를 통해 유효성 검사 라이브러리를 쉽게 추가할 수 있다.