다음과 같은 과제를 받았다.
Bean Validation의 애너테이션 @Pattern을 사용해서 회원 가입 Email 데이터 검증을 진행합니다.
Email 형식 : 계정@도메인.최상위도메인
정규 표현식 (Regular Expression) 같은 검색어를 구글링하여 방법을 찾습니다.
문제는 이 애너테이션을 어디다가 넣어야 하고 무엇을 수정해야 하는지 알 수가 없었다.
구글링을 하여 보편적으로 사용하는 이메일을 위한 정규 표현식을 찾아보았다.
이메일 형식 (exam@exam.com) 의 정규식 표현
@Pattern(regexp = "^[A-Za-z0-9_\\.\\-]+@[A-Za-z0-9\\-]+\\.[A-Za-z0-9\\-]+$")
정규 표현식은 DTO파일, 패키지에 추가하면 된다고 하였다.
그러나 의심부터 들었다. 과연 저거 한줄만 딱 넣으면 되는 거야?
동작을 실현하기도 전에 겁부터 났다. 그래서 내가 만든 코드를 적은 후 해설강의를 참고하였다.
그런데 아니나 다를까 진짜 한 줄만 추가하면 되었었다.
@Getter
@Setter
public class SignupRequestDto {
@NotBlank
private String username;
@NotBlank
private String password;
@Pattern(regexp = "^[a-zA-Z0-9_!#$%&'*+/=?`{|}~^.-]+@[a-zA-Z0-9.-]+$")
@NotBlank
private String email;
private boolean admin = false;
private String adminToken = "";
새로운 앎으로, 1. 클론코딩을 부끄러워하지 말자. 2. 검색해서 나온 결과를 의심하지 말고 일단 해보자.
+개선점: Dto에 대해 좀 더 공부해 보기
'TIL (Today I Learned)' 카테고리의 다른 글
TIL) Spring Boot Error : Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled (0) | 2023.06.23 |
---|---|
TIL) Intellj에서 마우스 버튼이 눌러지지 않을 때 (0) | 2023.06.23 |
TIL) Param request과 Body request은 무엇인가 (0) | 2023.06.20 |
WIL) 내일 무리하지 않도록 오늘 해냄으로서 내일의 번아웃을 방지하기 (0) | 2023.06.18 |
TIL) 코드 작성 시, 괄호 조심하자! ( )/{ } (0) | 2023.06.15 |