Bean Validation - groups (복잡성이 높아 실무에서는 잘 사용 X)
동일한 모델 객체를 등록할때와 수정할때 다르게 검증하는 방법
- BeanValidation의 groups 기능을 사용한다

- 인터페이스를 따로 만들어, 사용하면 스프링 자체에서 유효성 검사를 해준다.
- ItemSaveForm, ItemUpdateForm 같이 폼 전송을 위한 별도의 모델 객체를 만들어서 사용한다.
HTTP - 메시지 컨버터
- 예시

- API의 경우 3가지 경우를 나누어 생각해야 된다.
- 성공 요청 : 성공
- 실패 요청 : JSON을 객체로 생성하는 것 자체가 실패함
- @RequestBody는 JSON 데이터를 객체로 변경하지 못하면 이후 단계가 진행되지 않고 예외가 발생한다.
- 검증 오류 요청 : JSON을 객체로 생성하는 것은 성공했고, 검증에서 실패함