diff --git a/src/main/java/co/jp/app/controller/UserController.java b/src/main/java/co/jp/app/controller/UserController.java index 6324317..ce8ed90 100644 --- a/src/main/java/co/jp/app/controller/UserController.java +++ b/src/main/java/co/jp/app/controller/UserController.java @@ -38,39 +38,26 @@ public class UserController { @PostMapping("/register") public ResponseEntity registerUser(@Valid @RequestBody RegistrationDto registrationDto) { - try { - UserEntity registeredUser = userService.registerNewUser(registrationDto); + UserEntity registeredUser = userService.registerNewUser(registrationDto); - return ResponseEntity.status(HttpStatus.CREATED).body(ApiResponse.success(registeredUser.getEmail())); - } catch (Exception e) { - - return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(ApiResponse.fail(ResultCode.BAD_REQUEST,null)); - } + return ResponseEntity.status(HttpStatus.CREATED).body(ApiResponse.success(registeredUser.getEmail())); } @PostMapping("/login") public ResponseEntity authenticateUser(@Valid @RequestBody LoginDto loginDto) { - try { - Authentication authentication = authenticationManager.authenticate( - new UsernamePasswordAuthenticationToken(loginDto.getEmail(), loginDto.getPassword()) - ); - SecurityContextHolder.getContext().setAuthentication(authentication); - UserDetails userDetails = (UserDetails) authentication.getPrincipal(); - String jwtToken = jwtService.generateToken(userDetails); + Authentication authentication = authenticationManager.authenticate( + new UsernamePasswordAuthenticationToken(loginDto.getEmail(), loginDto.getPassword()) + ); + SecurityContextHolder.getContext().setAuthentication(authentication); + UserDetails userDetails = (UserDetails) authentication.getPrincipal(); - Map tokenResponse = new HashMap<>(); - tokenResponse.put("token", jwtToken); + String jwtToken = jwtService.generateToken(userDetails); - return ResponseEntity.ok(ApiResponse.success(tokenResponse)); + Map tokenResponse = new HashMap<>(); + tokenResponse.put("token", jwtToken); - } catch (BadCredentialsException e) { - - return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body(ApiResponse.fail(ResultCode.UNAUTHORIZED,null)); - } catch (Exception e) { - - return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(ApiResponse.fail(ResultCode.SERVICE_UNAVAILABLE,null)); - } + return ResponseEntity.ok(ApiResponse.success(tokenResponse)); } } diff --git a/src/main/java/co/jp/app/service/UserService.java b/src/main/java/co/jp/app/service/UserService.java index 5dbfd72..05a641a 100644 --- a/src/main/java/co/jp/app/service/UserService.java +++ b/src/main/java/co/jp/app/service/UserService.java @@ -3,6 +3,8 @@ package co.jp.app.service; import java.util.Collection; import java.util.Collections; +import co.jp.app.common.ResultCode; +import co.jp.app.exception.BusinessException; import org.jetbrains.annotations.NotNull; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; @@ -30,10 +32,15 @@ public class UserService implements UserDetailsService { } @Transactional - public UserEntity registerNewUser(@NotNull RegistrationDto registrationDto) throws Exception { + public UserEntity registerNewUser(@NotNull RegistrationDto registrationDto) throws BusinessException { if (userRepository.existsByEmail(registrationDto.getEmail())) { - throw new Exception("error: Email" + registrationDto.getEmail() + " had been used"); + throw new BusinessException(ResultCode.USER_EMAIL_ALREADY_EXISTS,"error: Email" + registrationDto.getEmail() + " had been used"); + } + + //密码最短6位限制 + if (registrationDto.getPassword() == null || registrationDto.getPassword().length() < 6) { + throw new BusinessException(ResultCode.USER_PASSWORD_TOO_SHORT); } UserEntity newUser = new UserEntity();