@Valid 2

Validation

폼 입력으로 들어오는 데이터를 검증하고 만약 오류가 발생했을 때 오류 페이지를 보여주는 것이 아닌 입력한 데이터를 유지한 상태로 어떤 오류가 발생했는지 고객에게 알려주어야한다. 컨트롤러의 중요한 역할 중 하나는 HTTP 요청이 정상인지를 검증하는 것이다. 클라이언트 검증은 조작이 가능하다. ==> 보안에 취약 그렇다고 서버만으로 검증하면, 즉각적인 고객 사용성이 부족해진다. 둘을 적절히 섞어서 사용해야함. API 방식을 사용해서 검증 오류를 API 응답 결과에 남겨주는 것도 좋은 방법 1. 검증 직접 처리 서버에서 검증 실패가 발생하면 Form에 입력된 데이터와 검증 오류에 대한 결과를 Model에 담아 다시 상품 등록 Form으로 보내준다. 이런 오류 페이지가 띄워지는 것이 아닌 입력한 데이터는 그대로..

Spring/Spring MVC 2021.07.07

javax에서 제공하는 @Valid, Spring이 제공하는 BindingResult

@Valid springboot가 버전업을 하면서 web 의존성안에 있던 constraints packeage가 모듈로 빠졌다. SpringBoot 2.3 이상에서는 따로 의존성을 추가해주어야한다. implementation 'org.springframework.boot:spring-boot-starter-validation' @Valid를 이용하면, service 단이 아닌 객체 안에서, 들어오는 값에 대해 검증을 할 수 있다. javax.validation.constraints 패키지를 보면 많은 어노테이션들이 존재한다. @Valid를 이용한 객체 검증 시 기본적으로 이 어노테이션을 이용 공식문서 코드 예시) 컨트롤러 @Controller @Slf4j public class MemberControll..

Spring/Spring MVC 2021.05.22
반응형