쿼리스트링의 Validation #58
sallyjellyy
started this conversation in
Troubleshooting docs
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
이메일 중복체크 시 쿼리스트링으로 이메일을 받습니다.
이메일 유효성 검사를 위해 시도한 부분은 다음과 같습니다.
@Validated
사용@RequestParam
과 같이 유효성 검사를 위한@NotEmpty
,@Email
추가-> 이메일이 형식에 맞지 않거나 null 혹은 빈 문자열일 시 ConstraintViolationException 발생, ControllerAdvice에서 핸들하도록 관리
하지만
@Validated
는 스프링에서 관리,@Valid
는 jakarta bean validation에서 관리합니다. 표준에 더 맞는다고 판단되는@Valid
를 사용하기 위해 수정했고 결과는 다음과 같습니다.@Valid
사용String email
에@NotEmpty
,@Email
어노테이션 추가@RequestParam
을 생략하고(참고 링크)@Valid
어노테이션을 작성한 후 EmailRequest를 파라미터로 추가-> 이메일 형식에 맞지 않거나 빈 문자열일 시 BindException 발생, ControllerAdvice에서 핸들하도록 추가해줬지만 잡히지 않고 Defaulthandlerexceptionresolver에서 처리되어 에러 리스폰스를 보내주고 이 에러 리스폰스는 커스텀 에러 리스폰스와 형식이 달라 매핑되지 않습니다.
현재까지는 BindException이 핸들되지 않을 시 1.
@Validated
를 사용하는 방법과 2.@Valid
를 사용하여 쿼리스트링이 아닌 리퀘스트 바디에 넣어주는 방법 이렇게 두가지가 있습니다.(카테고리는 Q&A에 넣어두었으나 다른 카테고리가 더 어울린다고 생각되시면 바꿔주시면 감사하겠습니다!)
Beta Was this translation helpful? Give feedback.
All reactions