Spring/공부

[Spring validation] @Email은 not null일까?

synclair 2023. 9. 5. 17:57

회원가입 RequestDTO

@Email : 이메일 형식인지 체크한다.

 

RequestDTO의 email에 @Email 어노테이션을 걸어두면 이메일 형식으로 입력안하면 Bad_REQUEST가 뜰 것이다.

 

왜 되는거지? 

 

회원가입 API인데 Spring Validation을 적용하려면 RequestDTO에 제약조건을 걸어두고 

Request 받을 매개변수에 @Valid를 걸어두어야 적용된다. 안 적어서 이메일로 test123이 적용된거 같다.

 

@Valid 적용 

 

 

 

이메일 형식을 안 따름

 

원하는 대로 되었다. 

 

그런데 @Email, @NotNull private String email;에서 @Notnull을 빼면 어떻게 될까 ? 

 

 

json에서 email을 뺐다.

 

bad request가 안 뜨고 200 ok가 떠버렸다.

 

항상 requestdto를 만들 때 아이디 비밀번호에 @NotNull이나 @NotBlank에 대한 고민만 했지 @Email은 당연히 Notnull이 포함일 줄 알았는데 아니였다.

 

다음엔 @Pattern도 한번 해봐야겠따