From c0b93ffbca5a4becc8f8cbb28f5f15b914a1fe70 Mon Sep 17 00:00:00 2001 From: Hgyeol Date: Wed, 10 Sep 2025 00:38:42 +0900 Subject: [PATCH 1/2] =?UTF-8?q?fix(#78)=20:=20=ED=9A=8C=EC=9B=90=EA=B0=80?= =?UTF-8?q?=EC=9E=85=20=EB=A1=9C=EC=A7=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/presentation/RegisterController.java | 29 ++++++++++--------- .../dto/DefaultRegisterUserDto.java | 7 +++-- .../presentation/dto/RegisterUserDto.java | 3 -- .../domain/user/service/UserService.java | 10 +++---- .../global/config/CustomSuccessHandler.java | 1 + 5 files changed, 25 insertions(+), 25 deletions(-) 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..532c5bde 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.*; @@ -29,20 +26,24 @@ public String processRegistration(RegisterUserDto registerUserDTO) { } @PostMapping("/first-register") - public UserDto showRegistrationForm(HttpServletRequest request) { + public DefaultRegisterUserDto showRegistrationForm(HttpServletRequest request) { HttpSession session = request.getSession(); - UserDto dto = (UserDto) session.getAttribute("firstUser"); - session.removeAttribute("firstUser"); - return dto; + UserDto userDto = (UserDto) session.getAttribute("firstUser"); + return DefaultRegisterUserDto.builder() + .username(userDto.getUsername()) + .email(userDto.getEmail()) + .role(userDto.getRole()) + .build(); } - @PostMapping( - value = "/register", - consumes = MediaType.APPLICATION_JSON_VALUE - ) - public ResponseEntity processRegistration(@RequestBody DefaultRegisterUserDto defaultRegisterUserDTO) { - log.info("ClassCode 1 : " + defaultRegisterUserDTO.getClassCode()); - userService.registerUser(defaultRegisterUserDTO); + @PostMapping("/register") + public ResponseEntity processRegistration(HttpServletRequest request, + RegisterUserDto registerUserDto) { + HttpSession session = request.getSession(); + UserDto userDto = (UserDto) session.getAttribute("firstUser"); + session.removeAttribute("firstUser"); + 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, From cf9c5c831c7bbf979c0274fa683b20f2fd93dc11 Mon Sep 17 00:00:00 2001 From: Hgyeol Date: Wed, 10 Sep 2025 00:41:55 +0900 Subject: [PATCH 2/2] =?UTF-8?q?fix(#78)=20:=20/first-register=20get?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/user/presentation/RegisterController.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) 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 532c5bde..11f6154a 100644 --- a/src/main/java/hello/cluebackend/domain/user/presentation/RegisterController.java +++ b/src/main/java/hello/cluebackend/domain/user/presentation/RegisterController.java @@ -20,12 +20,7 @@ public RegisterController(UserService userService) { this.userService = userService; } - @PostMapping - public String processRegistration(RegisterUserDto registerUserDTO) { - return "redirect:/"; - } - - @PostMapping("/first-register") + @GetMapping("/first-register") public DefaultRegisterUserDto showRegistrationForm(HttpServletRequest request) { HttpSession session = request.getSession(); UserDto userDto = (UserDto) session.getAttribute("firstUser");