From 2b157029de7172eac05020ff997ea519bdc0b860 Mon Sep 17 00:00:00 2001 From: myqewr Date: Tue, 8 Apr 2025 02:14:46 +0900 Subject: [PATCH] refactor : Modify Response Body Of General User Signup API(#86) --- .../user/controller/GeneralUserSignupController.java | 6 ++++-- .../user/dto/response/GeneralUserSignupResponse.java | 12 ++++++++++++ .../port/in/user/GeneralUserSignupUseCase.java | 3 ++- .../service/user/GeneralUserSignupService.java | 4 +++- .../com/ftm/server/user/GeneralUserSignupTest.java | 8 ++++---- 5 files changed, 25 insertions(+), 8 deletions(-) create mode 100644 src/main/java/com/ftm/server/adapter/in/web/user/dto/response/GeneralUserSignupResponse.java diff --git a/src/main/java/com/ftm/server/adapter/in/web/user/controller/GeneralUserSignupController.java b/src/main/java/com/ftm/server/adapter/in/web/user/controller/GeneralUserSignupController.java index 26ac1a1..4bc14e3 100644 --- a/src/main/java/com/ftm/server/adapter/in/web/user/controller/GeneralUserSignupController.java +++ b/src/main/java/com/ftm/server/adapter/in/web/user/controller/GeneralUserSignupController.java @@ -1,6 +1,7 @@ package com.ftm.server.adapter.in.web.user.controller; import com.ftm.server.adapter.in.web.user.dto.request.GeneralUserSignupRequest; +import com.ftm.server.adapter.in.web.user.dto.response.GeneralUserSignupResponse; import com.ftm.server.application.command.user.GeneralUserSignupCommand; import com.ftm.server.application.port.in.user.GeneralUserSignupUseCase; import com.ftm.server.common.response.ApiResponse; @@ -22,8 +23,9 @@ public class GeneralUserSignupController { @PostMapping("/api/users") public ResponseEntity createGeneralUser( @Valid @RequestBody GeneralUserSignupRequest request) { - generalUserSignupUseCase.execute(GeneralUserSignupCommand.from(request)); + GeneralUserSignupResponse response = + generalUserSignupUseCase.execute(GeneralUserSignupCommand.from(request)); return ResponseEntity.status(HttpStatus.CREATED) - .body(ApiResponse.success(SuccessResponseCode.CREATED)); + .body(ApiResponse.success(SuccessResponseCode.CREATED, response)); } } diff --git a/src/main/java/com/ftm/server/adapter/in/web/user/dto/response/GeneralUserSignupResponse.java b/src/main/java/com/ftm/server/adapter/in/web/user/dto/response/GeneralUserSignupResponse.java new file mode 100644 index 0000000..a29f815 --- /dev/null +++ b/src/main/java/com/ftm/server/adapter/in/web/user/dto/response/GeneralUserSignupResponse.java @@ -0,0 +1,12 @@ +package com.ftm.server.adapter.in.web.user.dto.response; + +import lombok.Data; + +@Data +public class GeneralUserSignupResponse { + private final Long userId; + + public static GeneralUserSignupResponse of(Long userId) { + return new GeneralUserSignupResponse(userId); + } +} diff --git a/src/main/java/com/ftm/server/application/port/in/user/GeneralUserSignupUseCase.java b/src/main/java/com/ftm/server/application/port/in/user/GeneralUserSignupUseCase.java index 141efed..3ab8824 100644 --- a/src/main/java/com/ftm/server/application/port/in/user/GeneralUserSignupUseCase.java +++ b/src/main/java/com/ftm/server/application/port/in/user/GeneralUserSignupUseCase.java @@ -1,9 +1,10 @@ package com.ftm.server.application.port.in.user; +import com.ftm.server.adapter.in.web.user.dto.response.GeneralUserSignupResponse; import com.ftm.server.application.command.user.GeneralUserSignupCommand; import com.ftm.server.common.annotation.UseCase; @UseCase public interface GeneralUserSignupUseCase { - void execute(GeneralUserSignupCommand command); + GeneralUserSignupResponse execute(GeneralUserSignupCommand command); } diff --git a/src/main/java/com/ftm/server/application/service/user/GeneralUserSignupService.java b/src/main/java/com/ftm/server/application/service/user/GeneralUserSignupService.java index 8382306..a3f77ef 100644 --- a/src/main/java/com/ftm/server/application/service/user/GeneralUserSignupService.java +++ b/src/main/java/com/ftm/server/application/service/user/GeneralUserSignupService.java @@ -1,5 +1,6 @@ package com.ftm.server.application.service.user; +import com.ftm.server.adapter.in.web.user.dto.response.GeneralUserSignupResponse; import com.ftm.server.application.command.user.GeneralUserCreationCommand; import com.ftm.server.application.command.user.GeneralUserSignupCommand; import com.ftm.server.application.port.in.user.GeneralUserSignupUseCase; @@ -35,7 +36,7 @@ public class GeneralUserSignupService implements GeneralUserSignupUseCase { @Transactional @Override - public void execute(GeneralUserSignupCommand command) { + public GeneralUserSignupResponse execute(GeneralUserSignupCommand command) { String email = command.getEmail(); Optional emailVerificationLogs = loadEmailVerificationLogPort.loadEmailVerificationLogByEmail( @@ -61,5 +62,6 @@ public void execute(GeneralUserSignupCommand command) { User user = saveUserPort.saveUser(User.createGeneralUser(convertedCommand)); saveUserImagePort.saveUserDefaultImage(UserImage.createUserImage(user.getId())); + return GeneralUserSignupResponse.of(user.getId()); } } diff --git a/src/test/java/com/ftm/server/user/GeneralUserSignupTest.java b/src/test/java/com/ftm/server/user/GeneralUserSignupTest.java index 7f6a6a9..6c491d8 100644 --- a/src/test/java/com/ftm/server/user/GeneralUserSignupTest.java +++ b/src/test/java/com/ftm/server/user/GeneralUserSignupTest.java @@ -59,10 +59,10 @@ public class GeneralUserSignupTest extends BaseTest { fieldWithPath("status").type(JsonFieldType.NUMBER).description("응답 상태"), fieldWithPath("code").type(JsonFieldType.STRING).description("상태 코드"), fieldWithPath("message").type(JsonFieldType.STRING).description("메시지"), - fieldWithPath("data") - .type(JsonFieldType.OBJECT) - .optional() - .description("data")); + fieldWithPath("data").type(JsonFieldType.OBJECT).optional().description("data"), + fieldWithPath("data.userId") + .type(JsonFieldType.NUMBER) + .description("사용자 고유 id")); private ResultActions getResultActions(GeneralUserSignupRequest request) throws Exception { return mockMvc.perform( // api 실행