-
[RESTful Service] Validation 사용개발/Spring boot 2021. 7. 14. 21:48
도메인에 적절한 validation 어노테이션을 추가하여 사용한다.
@AssertFalse: false 이어야 한다.
@AssertTrue: true 이어야 한다.
@DecimalMax(value=, inclusive=): inclusive=false 이면 지정된 최대값 보다 작은지 확인, inclusive=true 이면 값이 지정된 최대값보다 작거나 같은지 확인한다.
@DecimalMin(value=, inclusive=): inclusive=false이면 지정된 최소값 보다 큰지 확인, inclusive=true 이면 값이 지정된 최소값보다 크나 같은지 확인한다.
@Digits(integer=, fraction=): integer=와 fraction=에 의해 지정된 자리수의 숫자인지 확인합니다
@Email: 유효한 이메일 형식인지 확인한다.
@Future: 날짜가 미래인지 확인한다.
@FutureOrPresent: 날짜가 미래인지 또는 현재인지 확인한다.
@Max(value=): 지정된 최대값 보다 작거나 같은지 확인한다.
@Min(value=): 지정된 최소값 보다 크거나 같은지 확인한다.
@Negative: 음수인지 확인한다.
@NegativeOrZero: 음수 또는 0인지 확인한다.
@NotBlank: null이 아니고 trim 된 길이가 0보다 큰지 확인한다.
@NotEmpty: null, 빈값인지 확인한다.
@NotNull: null이 아닌지 확인한다.
@Null: null인지 확인한다.
@Past: 날짜가 과거인지 확인한다.
@PastOrPresent: 날짜가 과거 또는 현재인지 확인한다.
@Pattern(regex=, flags=): 주어진 플래그 매치를 고려하여 값이 정규식 regex와 일치하는지 검사한다.
@Positive: 양수인지 확인한다.
@PositiveOrZero: 양수이거나 0인지 확인한다.
@Size(min=, max=): min=과 max= 사이에 있는지 확인한다.적용코드는 아래와 같다.
@PostMapping(path = "/users") public ResponseEntity<User> createUser(@Valid @RequestBody User user) { URI location = ServletUriComponentsBuilder.fromCurrentRequest() .path("/{id}") .buildAndExpand(savedUser.getId()) .toUri(); return ResponseEntity.created(location).build(); }
@Data @AllArgsConstructor public class User { private Integer id; @Size(min=2, message="Name은 2글자 이상 입력해 주세요.") private String name; @Past private Date joinDate; }
출처: https://offbyone.tistory.com/281 [쉬고 싶은 개발자]반응형