Recent Posts
Link
Archives
킹다의 개발블로그
@Valid 본문
반응형
우리가 로그인시, 또는 입력창에 데이터를 입력 후 검증을 해야할 때 사용할 @Valid 어노테이션이 있다.
@Valid 란?
api를 만들 때 유효성 검사를 하게 된다. 예를 들어 로그인, 회원가입 등등 그럴 때 간편하게 검증할 수 있도록 해주는 어노테이션이다.
@Valid 사용해보기
user라는 vo를 먼저 만들어보자.
@Data
@NoArgsConstructor
public class User {
@Length(max = 12, min = 3, message = "길이가 유효하지않습니다.") //최대길이 12, 최소길이 3
@NotEmpty(message = "id를 입력해주세요") // null과 "" 비허용
private String id;
@NotBlank // 빈문자열 안됨
private String password;
private String company;
private String depart;
}
@Controller
@PostMapping("/signup")
public ResponseEntity<?> signup(
BindingResult bindingResult, @Valid @RequestBody User user) {
log.info("rest/signup: {}", admin);
if(bindingResult.hasErrors()) {
log.info("오류");
resultJson = "{ \"verified\":false, \"result\":입력 오류\" }";
return new ResponseEntity<String>(resultJson, HttpStatus.OK);
}
만약 id를 @Length의 길이를 12이상, 또는 8미만으로 입력했다면 bindingResult.hasErrors를 통해 오류를 검증할 수 있다.
주의할 점!
파라미터에 항상 @Valid를 먼저 써줘야 함
public ResponseEntity<?> signup(@Valid @RequestBody User user, BindingResult bindingResult)
테스트 결과 보기
id 칸에 2개의 문자만 보내면 입력 오류라는 결과를 확인할 수 있다.
*Admin 객체로 만들어놨지만 User라고 생각하면 됨
4글자로 입력을 하게 되면 입력 오류가 뜨지 않고 정상적으로 나온 것을 확인할 수 있다.
반응형
'02. 프레임워크 > spring' 카테고리의 다른 글
Spring Cloud Config Client 설정해보기 (0) | 2021.08.13 |
---|---|
Spring Cloud Config Server 설정해보기 (0) | 2021.08.13 |
Spring Security - 2 (0) | 2021.08.10 |
Dao 와 Mapper의 차이 (2) | 2021.08.10 |
Spring Security - 1 (7) | 2020.10.26 |
Comments