본문 바로가기
Spring

Spring 4 JSR-303 Validator

by 수앙 2017. 6. 12.

Spring은 자체적인 Validator 기능 외에 JSR-303 검증도 지원한다고 한다.

이번 예제는 JSR-303 검증을 이용한 유효성 체크를 해본다.


스프링 4.3.9 기준으로 작성되었다.

XML 기반 설정이고 유효성 체크 부분 내용만 기술한다.


1. Maven pom.xml

<dependency>

<groupId>org.hibernate</groupId>

<artifactId>hibernate-validator</artifactId>

<version>5.4.1.Final</version>

</dependency>


2. Spring servlet-context.xml

- Validator 설정에 messageSource도 추가 가능하나 여기선 생략하였다.

<mvc:annotation-driven validator="validator" />


<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />


3. Java bean

public class User {

...

@NotBlank

private String userName;

...


// getter, setter

}


4. Spring controller

public class UserController {


@PostMapping(value = "/users")

@ResponseStatus(HttpStatus.CREATED)

public void create(@Valid @RequestBody User user) {


}


}


5. Spring controller advice

@RestControllerAdvice

public class ... {


@ExceptionHandler(MethodArgumentNotValidException.class)

public <T> ResponseEntity<T> exception(MethodArgumentNotValidException e) {

...

return T;

}

}


6. Result

{

    "error_code": "Bad Request",

    "error_details": [

        "[userName] 반드시 값이 존재하고 공백 문자를 제외한 길이가 0보다 커야 합니다."

    ]

}


간단하게 Validator 하는 방법을 기술했으나 완벽한 전체 예제는 아니다.

프로젝트에 유효성 체크 적용 시 한번 참고할 수 있지 않을까하여 정리했다.


끝.

'Spring' 카테고리의 다른 글

Spring 4.3 Redis Sentinel 연동  (0) 2018.06.16
Spring 4 Atomikos 설정  (0) 2017.10.14
Spring REST Docs 사용법  (0) 2017.04.23
Spring ehcache 설정  (0) 2016.12.12
Spring 4 자바 기반 Thymeleaf 설정  (0) 2016.10.16

댓글