diff --git a/src/main/java/hello/cluebackend/domain/user/presentation/RegisterController.java b/src/main/java/hello/cluebackend/domain/user/presentation/RegisterController.java index d9e76830..11f6154a 100644 --- a/src/main/java/hello/cluebackend/domain/user/presentation/RegisterController.java +++ b/src/main/java/hello/cluebackend/domain/user/presentation/RegisterController.java @@ -1,7 +1,5 @@ package hello.cluebackend.domain.user.presentation; -import com.nimbusds.oauth2.sdk.TokenResponse; -import hello.cluebackend.domain.user.domain.UserEntity; import hello.cluebackend.domain.user.presentation.dto.DefaultRegisterUserDto; import hello.cluebackend.domain.user.presentation.dto.RegisterUserDto; import hello.cluebackend.domain.user.presentation.dto.UserDto; @@ -10,7 +8,6 @@ import jakarta.servlet.http.HttpSession; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -23,26 +20,25 @@ public RegisterController(UserService userService) { this.userService = userService; } - @PostMapping - public String processRegistration(RegisterUserDto registerUserDTO) { - return "redirect:/"; + @GetMapping("/first-register") + public DefaultRegisterUserDto showRegistrationForm(HttpServletRequest request) { + HttpSession session = request.getSession(); + UserDto userDto = (UserDto) session.getAttribute("firstUser"); + return DefaultRegisterUserDto.builder() + .username(userDto.getUsername()) + .email(userDto.getEmail()) + .role(userDto.getRole()) + .build(); } - @PostMapping("/first-register") - public UserDto showRegistrationForm(HttpServletRequest request) { + @PostMapping("/register") + public ResponseEntity processRegistration(HttpServletRequest request, + RegisterUserDto registerUserDto) { HttpSession session = request.getSession(); - UserDto dto = (UserDto) session.getAttribute("firstUser"); + UserDto userDto = (UserDto) session.getAttribute("firstUser"); session.removeAttribute("firstUser"); - return dto; - } - - @PostMapping( - value = "/register", - consumes = MediaType.APPLICATION_JSON_VALUE - ) - public ResponseEntity processRegistration(@RequestBody DefaultRegisterUserDto defaultRegisterUserDTO) { - log.info("ClassCode 1 : " + defaultRegisterUserDTO.getClassCode()); - userService.registerUser(defaultRegisterUserDTO); + log.info("ClassCode 1 : " + registerUserDto.getClassCode()); + userService.registerUser(userDto, registerUserDto.getClassCode()); return new ResponseEntity<>(HttpStatus.CREATED); } } \ No newline at end of file diff --git a/src/main/java/hello/cluebackend/domain/user/presentation/dto/DefaultRegisterUserDto.java b/src/main/java/hello/cluebackend/domain/user/presentation/dto/DefaultRegisterUserDto.java index 8579ec63..ec20719f 100644 --- a/src/main/java/hello/cluebackend/domain/user/presentation/dto/DefaultRegisterUserDto.java +++ b/src/main/java/hello/cluebackend/domain/user/presentation/dto/DefaultRegisterUserDto.java @@ -1,14 +1,15 @@ package hello.cluebackend.domain.user.presentation.dto; import hello.cluebackend.domain.user.domain.Role; -import lombok.Getter; -import lombok.Setter; +import lombok.*; @Getter @Setter +@Builder +@NoArgsConstructor +@AllArgsConstructor public class DefaultRegisterUserDto { private String email; private String username; - private int classCode; private Role role; } diff --git a/src/main/java/hello/cluebackend/domain/user/presentation/dto/RegisterUserDto.java b/src/main/java/hello/cluebackend/domain/user/presentation/dto/RegisterUserDto.java index ebb94306..c30990ba 100644 --- a/src/main/java/hello/cluebackend/domain/user/presentation/dto/RegisterUserDto.java +++ b/src/main/java/hello/cluebackend/domain/user/presentation/dto/RegisterUserDto.java @@ -7,8 +7,5 @@ @Getter @Setter public class RegisterUserDto { - private String email; - private String username; private int classCode; - private Role role; } diff --git a/src/main/java/hello/cluebackend/domain/user/service/UserService.java b/src/main/java/hello/cluebackend/domain/user/service/UserService.java index e7564eb6..4cae9ef5 100644 --- a/src/main/java/hello/cluebackend/domain/user/service/UserService.java +++ b/src/main/java/hello/cluebackend/domain/user/service/UserService.java @@ -15,12 +15,12 @@ public UserService(UserRepository userRepository) { this.userRepository = userRepository; } - public void registerUser(DefaultRegisterUserDto userDTO) { + public void registerUser(UserDto userDto, int classCode) { UserEntity userEntity = new UserEntity( - userDTO.getClassCode(), - userDTO.getUsername(), - userDTO.getEmail(), - userDTO.getRole() + classCode, + userDto.getUsername(), + userDto.getEmail(), + userDto.getRole() ); userRepository.save(userEntity); } diff --git a/src/main/java/hello/cluebackend/global/config/CustomSuccessHandler.java b/src/main/java/hello/cluebackend/global/config/CustomSuccessHandler.java index b4d62724..2d533894 100644 --- a/src/main/java/hello/cluebackend/global/config/CustomSuccessHandler.java +++ b/src/main/java/hello/cluebackend/global/config/CustomSuccessHandler.java @@ -41,6 +41,7 @@ public void onAuthenticationSuccess(HttpServletRequest request, HttpServletRespo int classCode = userDTO.getClassCode(); if (classCode == -1) { + request.getSession().setAttribute("firstUser", userDTO); getRedirectStrategy().sendRedirect( request, response,