Programming-[Backend]/Spring

[TIL] @NotNull, @NonNull, @NotEmpty, @NotBlank, required=true 컨트롤러 파라미터 필수값 처리

컴퓨터 탐험가 찰리 2021. 4. 28. 22:40
728x90
반응형

Controller 파라미터 필수값으로 표시하고, 처리하기

Controller에서 파라미터로 받아오는 값을 필수값으로 처리하고, 표시하고 싶다면

@NotNull과 @Schema(required=true, ...)를 사용하면 된다.

 

required = true는 @Schema 어노테이션의 속성이므로 Swagger의 문서상에서 프론트 엔드쪽에 보여질 때 required로 표시를 하는 옵션이고, 실제 @NotNull은 해당 값이 파라미터로 들어오지 않으면 에러를 반환한다. 만약 에러 메시지를 지정하고 싶다면 @NotNull(message = " ... " ) 속성을 사용하면 된다.

 

 

 @NonNull, @NotEmpty, @NotBlank

NonNull은 데이터값이 Null이면 안된다. Null이면 에러를 반환한다.

NotEmpty는 데이터값이 Null, ""(빈 문자열)이면 안된다.

NotBlank는 데이터값이 Null, "", " "(공백) 이면 안된다.

 

 

@Valid 적용

@NotNull, @NotBlank와 같이 검증을 위한 어노테이션은 엄청 많다.

https://cchoimin.tistory.com/entry/Valid-%EC%84%B8%ED%8C%85-%EB%B0%8F-%EC%82%AC%EC%9A%A9%EB%B2%95

 

@Valid 세팅 및 사용법

간단소개 API를 만들다 보면 유효성체크를 꼭하기 마련이다. 매번 유효성체크를 로직을 작성하는 것도 매우 반복되는 일이다. Javax에서 @Valid 어노테이션을 제공해주고 있는대 Bean Validation을 아

cchoimin.tistory.com

@Max, @Min 등...

이런 것들을 적용하기 위해서는 파라미터의 객체 앞에 @Valid 어노테이션을 달아주어야만 한다.

 

( @Valid XxxPo )

728x90
반응형