Back-End/Spring

[Spring MVC2][검증2(Validation)] - Bean Validation - groups

얄루몬 2022. 5. 3. 14:05

💻본 포스팅은 '스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 김영한'님의 강의를 듣고 작성되었습니다.

https://inf.run/vQHp

 

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의

웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있

www.inflearn.com


[Bean Validation - groups]

  • 동일 객체를 수정, 등록할 때 요구사항이 변경되면 검증 오류가 난다.
    • 이를 해결하기 위한 방법으로 우리는 groups라는 개념을 알아보려 한다.
  • groups라는 기능을 사용할 때 핵심은 폼에 정보가 들어가는 경우를 다 분리해서 사용하는 것이다.
    • 이때는 인터페이스로 분리해준다.

 

[groups 사용]

  • 체크를 위한 인터페이스를 따로 만들어준다.
  • 그 뒤 컨트롤러의 validated에 확인할 부분에 관한 인터페이스를 SaveCheck.class 이런식으로 넣어준다.
    • 인터페이스명이 SaveCheck.class이다.
    • @Valid는(자바에서 지원하는) groups 기능을 사용할 수 없다. 

 

[groups의 한계]

  • groups는 매우 복잡하기 때문에 잘 사용하지 않는다고 한다.
  • 그리고 실제 개발 환경에서는 등록용 form과 수정용 form을 다른 객체로 사용하기 때문에 groups를 사용하지 않는다고 한다.
    • form객체, command 객체 등등을 실무에선 다르게 사용한다.
  • 전송하는 form 객체를 등록, 수정 등의 구분해서 다른 객체로 사용한다. 그래서 groups는 잘 쓰지 않는다.