Home 회원가입, 로그인 시 이메일 및 비밀번호 정규식 인식 불가(feat.@Valid)
Post
Cancel

회원가입, 로그인 시 이메일 및 비밀번호 정규식 인식 불가(feat.@Valid)

메모장 한켠에 적혀 있었는데 다시한번 정리하면서 되뇌어 본다…

예전에 프로젝트 진행 때 로그인 및 회원가입 기능을 맡았었는데, 그때 발생한 오류가 갑자기 생각나서 적어본다.

UserController

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/users")
public class UserController {

    private final UserService userService;
    private final KakaoService kakaoService;

    @PostMapping("/signup")
    public Response signup(@RequestBody RequestCreateUser requestCreateUser) {
        userService.signup(requestCreateUser);
        return new Response(CREATE_USER_SUCCESS_MSG);
    }
}

Dto

1
2
3
4
5
6
7
8
9
10
11
12
@Getter
@Setter
public class RequestCreateUser {

    @NotEmpty(message = "이메일을 입력해주세요.")
    @Email(message = "이메일 형식을 맞춰주세요.")
    private String email;

    @Pattern(regexp = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!#%*?&])[A-Za-z\\d@$!#%*?&]{8,15}$",
            message = "비밀번호는 8~15자리의 대소문자,숫자,특수문자로 이루어져야 합니다.")
    private String password;

분명 실행도 잘되고 bulid도 잘되었다. 그러나 포스트맨에서 확인 해보니 이메일, 비밀번호 정규식이 먹히지 않는 오류가 나는 것이었다.
코드를 자세히 확인해보니 아뿔싸…
signup에 @Valid 가 어디갔지…? 추가해줬다.

성공적으로 이메일 정규식과 비밀번호 정규식이 적용이 되었다.

1시간동안 코드를 살피고 또 살폈었는데… 어이없었다…

다시는 까먹지 않을 것 같다… @Valid


수정된 UserController

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/users")
public class UserController {

    private final UserService userService;
    private final KakaoService kakaoService;

    @PostMapping("/signup")
    public Response signup(@RequestBody @Valid RequestCreateUser requestCreateUser) {
        userService.signup(requestCreateUser);
        return new Response(CREATE_USER_SUCCESS_MSG);
    }
}

gh-pages

This post is licensed under CC BY 4.0 by the author.

nGrinder를 활용한 성능테스트 (1) - Controller 및 Agent 설치

공지사항 - TIL 및 블로그 정리