@GetMapping("/test")
public void test(@Valid @Min(1) Integer intValue) {};
GET /test
오류 없이 200 리턴
intValue가 없거나 1 미만의 값이 들어올 경우, HttpStatusCode 400 리턴
@GetMapping("/test")
public void test(@RequestParam @Min(1) Integer intValue) {};
=> NotNull은 validation 가능.
But, 최소값 체크는 되지 않음
@Setter
public SampleDto {
@Min(1)
Integer intValue;
}
@Validated
@RestController
public class SampleController {
...
}
class단에 @Validated 어노테이션 추가해주면 AOP 추가의 개념으로 Param들을 intercept, valid 체크가 진행됨
=> 1 미만의 값이 들어왔을 때 ContraintViolationException 발생
But, 서버 에러라 status 400을 리턴해주지 않는다.
=> @ExceptionHandler 등을 통해 400 리턴을 처리해줘야 함
시스템에 Exception 처리가 되어 있다면?
=> Case3 @Validated 활용
그렇지 않다면
=> Case2 Dto 클래스 활용