From af24234ae033caef8baf59a9b9a7e0808e8de483 Mon Sep 17 00:00:00 2001 From: YoungJun Park <youngjun108059@gmail.com> Date: Thu, 23 Jun 2022 12:39:26 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=94=20=ED=9A=8C=EC=9B=90=EA=B0=80?= =?UTF-8?q?=EC=9E=85=20Web(IN)=20=E2=86=92=20UseCase(#3)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/in/web/MemberController.java | 28 +++++++++++++++---- .../port/in/RegisterMemberUseCase.java | 2 +- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/api/src/main/java/hexagonal/api/member/adapter/in/web/MemberController.java b/api/src/main/java/hexagonal/api/member/adapter/in/web/MemberController.java index 344f314..2576291 100644 --- a/api/src/main/java/hexagonal/api/member/adapter/in/web/MemberController.java +++ b/api/src/main/java/hexagonal/api/member/adapter/in/web/MemberController.java @@ -1,16 +1,32 @@ package hexagonal.api.member.adapter.in.web; import hexagonal.api.member.adapter.in.web.request.RegisterMemberReq; +import hexagonal.api.member.adapter.in.web.response.RegisterMemberResponse; +import hexagonal.api.member.application.port.in.RegisterMemberCommand; +import hexagonal.api.member.application.port.in.RegisterMemberUseCase; +import lombok.RequiredArgsConstructor; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; +@RestController +@RequiredArgsConstructor public class MemberController { - @PostMapping("/member") - long registerMember(@RequestBody RegisterMemberReq memberInfo) { - // 입력모델 Valid Check 예외 처리 - // 1. 회원 가입 요청 in port 추가 - // 2. 영속성 out port 추가 - return 0l; + private final RegisterMemberUseCase registerMemberUseCase; + + @PostMapping("/v1/member") + ResponseEntity<RegisterMemberResponse> registerMember(@RequestBody RegisterMemberReq memberInfo) { + // ToDo 입력모델 Valid Check 예외 처리 + RegisterMemberCommand command = new RegisterMemberCommand( + memberInfo.getName(), + memberInfo.getEmail(), + memberInfo.getType()); + + Long memberId = registerMemberUseCase.registerMember(command); + RegisterMemberResponse response = new RegisterMemberResponse(memberId, memberInfo.getEmail()); + // Todo ResponseEntity + Global Exception 고민 + return ResponseEntity.ok(response); } } diff --git a/api/src/main/java/hexagonal/api/member/application/port/in/RegisterMemberUseCase.java b/api/src/main/java/hexagonal/api/member/application/port/in/RegisterMemberUseCase.java index f8d817a..5943afb 100644 --- a/api/src/main/java/hexagonal/api/member/application/port/in/RegisterMemberUseCase.java +++ b/api/src/main/java/hexagonal/api/member/application/port/in/RegisterMemberUseCase.java @@ -2,5 +2,5 @@ public interface RegisterMemberUseCase { - boolean registerMember(); + Long registerMember(RegisterMemberCommand command); }