diff --git a/src/main/java/umc/codeplay/controller/AuthController.java b/src/main/java/umc/codeplay/controller/AuthController.java index 7458a3e..3dcb448 100644 --- a/src/main/java/umc/codeplay/controller/AuthController.java +++ b/src/main/java/umc/codeplay/controller/AuthController.java @@ -2,6 +2,8 @@ import java.util.Collection; import java.util.stream.Collectors; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; @@ -36,7 +38,7 @@ public class AuthController { @PostMapping("/login") public ApiResponse login( - @RequestBody MemberRequestDTO.LoginDto request) { + @Validated @RequestBody MemberRequestDTO.LoginDto request) { if (memberService.getSocialStatus(request.getEmail()) != SocialStatus.NONE) { throw new GeneralHandler(ErrorStatus.AUTHORIZATION_METHOD_ERROR); } @@ -66,7 +68,7 @@ public ApiResponse login( @PostMapping("/signup") public ApiResponse join( - @RequestBody MemberRequestDTO.JoinDto request) { + @Validated @RequestBody MemberRequestDTO.JoinDto request) { Member member = memberService.joinMember(request); MemberResponseDTO.JoinResultDTO newJoinResult = MemberConverter.toJoinResultDTO(member); @@ -75,8 +77,8 @@ public ApiResponse join( @PostMapping("/refresh") public ApiResponse refresh( - @RequestHeader("Refresh-Token") String refreshToken, - @RequestParam("email") String email) { + @RequestHeader("Refresh-Token") @NotNull(message = "리프레시 토큰은 필수 헤더입니다.") String refreshToken, + @Validated @RequestParam("email") @NotBlank(message = "이메일은 필수 입력값입니다.") String email) { // 리프레시 토큰 유효성 검사 if (jwtUtil.validateToken(refreshToken) && (jwtUtil.getTypeFromToken(refreshToken).equals("refresh"))) { diff --git a/src/main/java/umc/codeplay/controller/OAuthController.java b/src/main/java/umc/codeplay/controller/OAuthController.java index e2758b2..a1e3552 100644 --- a/src/main/java/umc/codeplay/controller/OAuthController.java +++ b/src/main/java/umc/codeplay/controller/OAuthController.java @@ -7,6 +7,7 @@ import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.client.RestTemplate; import org.springframework.web.servlet.view.RedirectView; @@ -28,6 +29,7 @@ @RestController @RequestMapping("/oauth") @RequiredArgsConstructor +@Validated public class OAuthController { private final JwtUtil jwtUtil; diff --git a/src/main/java/umc/codeplay/domain/Member.java b/src/main/java/umc/codeplay/domain/Member.java index 43da145..0972b1c 100644 --- a/src/main/java/umc/codeplay/domain/Member.java +++ b/src/main/java/umc/codeplay/domain/Member.java @@ -7,9 +7,8 @@ import lombok.*; import umc.codeplay.domain.enums.Role; -import umc.codeplay.domain.mapping.MusicLike; import umc.codeplay.domain.enums.SocialStatus; - +import umc.codeplay.domain.mapping.MusicLike; @Entity @Getter diff --git a/src/main/java/umc/codeplay/dto/MemberRequestDTO.java b/src/main/java/umc/codeplay/dto/MemberRequestDTO.java index 4d5a3e1..e2d4214 100644 --- a/src/main/java/umc/codeplay/dto/MemberRequestDTO.java +++ b/src/main/java/umc/codeplay/dto/MemberRequestDTO.java @@ -1,19 +1,32 @@ package umc.codeplay.dto; +import jakarta.validation.constraints.Email; +import jakarta.validation.constraints.NotBlank; + import lombok.Getter; public class MemberRequestDTO { @Getter public static class JoinDto { + @NotBlank(message = "이름은 필수 입력값입니다.") String name; + + @NotBlank(message = "이메일은 필수 입력값입니다.") + @Email(message = "이메일 형식이 아닙니다.") String email; + + @NotBlank(message = "비밀번호는 필수 입력값입니다.") String password; } @Getter public static class LoginDto { + @NotBlank(message = "이메일은 필수 입력값입니다.") + @Email(message = "이메일 형식이 아닙니다.") String email; + + @NotBlank(message = "비밀번호는 필수 입력값입니다.") String password; } } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 10fe9b2..7d2b15d 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -18,7 +18,7 @@ spring: jpa: hibernate: - ddl-auto: update # Hibernate 엔티티 스키마 자동 업데이트 + ddl-auto: create # Hibernate 엔티티 스키마 자동 업데이트 properties: jakarta.persistence.sharedCache.mode: ALL hibernate: