diff --git a/customer-vue/src/api/user.js b/customer-vue/src/api/user.js
index 7eb0b07..c366a01 100644
--- a/customer-vue/src/api/user.js
+++ b/customer-vue/src/api/user.js
@@ -5,6 +5,9 @@ export default {
requestRegisterUser(user) {
return axios.post(process.env.VUE_APP_CUSTOMER_SERVICE_BASEURL+"/user-service/store-owner", user);
},
+ geUserData() {
+ return axios.get(process.env.VUE_APP_CUSTOMER_SERVICE_BASEURL+"/user-service/customer/", );
+ },
async requestLoginUser(email, password) {
const user = {
diff --git a/customer-vue/src/components/BottomNavigation.vue b/customer-vue/src/components/BottomNavigation.vue
index b1fb176..f1b4432 100644
--- a/customer-vue/src/components/BottomNavigation.vue
+++ b/customer-vue/src/components/BottomNavigation.vue
@@ -24,7 +24,7 @@ export default {
{name: "검색", url: "/search", icon: "mdi-magnify"},
{name: "즐겨찾기", url: "/favorite", icon: "mdi-cards-heart-outline"},
{name: "주문내역", url: "/history", icon: "mdi-clipboard-check-outline"},
- {name: "마이페이지", url: "/", icon: "mdi-account-outline"}
+ {name: "마이페이지", url: "/mypage", icon: "mdi-account-outline"}
]
}
},
@@ -33,6 +33,13 @@ export default {
this.value = index;
this.$router.push(url);
}
+ },mounted() {
+ const path =this.$route.path
+ this.links.forEach((link, index) => {
+ if(link.url === path){
+ this.value = index
+ }
+ })
}
}
diff --git a/customer-vue/src/views/MyPage.vue b/customer-vue/src/views/MyPage.vue
new file mode 100644
index 0000000..268d115
--- /dev/null
+++ b/customer-vue/src/views/MyPage.vue
@@ -0,0 +1,88 @@
+
+
+
+
+
+ 내 정보 관리
+
+
+
+
+
+
+
+
+ 수정하기
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/user-service/src/docs/asciidoc/api-docs.adoc b/user-service/src/docs/asciidoc/api-docs.adoc
index 8bb36ad..9204d08 100644
--- a/user-service/src/docs/asciidoc/api-docs.adoc
+++ b/user-service/src/docs/asciidoc/api-docs.adoc
@@ -65,6 +65,8 @@
domain-httpRequestCode-etc
== 유저
+=== 로그인 된 회원 조회
+operation::customer-get-mypage[snippets='curl-request,http-request,http-response,request-headers,response-fields']
=== 회원 조회
operation::customer-get[snippets='curl-request,http-request,http-response,path-parameters,response-fields']
=== 회원 조회 (존재하지 않는 회원)
diff --git a/user-service/src/main/java/com/justpickup/userservice/domain/user/dto/UserDto.java b/user-service/src/main/java/com/justpickup/userservice/domain/user/dto/UserDto.java
index f3aa62e..dbb65d9 100644
--- a/user-service/src/main/java/com/justpickup/userservice/domain/user/dto/UserDto.java
+++ b/user-service/src/main/java/com/justpickup/userservice/domain/user/dto/UserDto.java
@@ -16,6 +16,7 @@ public abstract class UserDto {
// == 생성 메소드 == //
public UserDto(Customer customer) {
this.id = customer.getId();
+ this.email = customer.getEmail();
this.password = customer.getPassword();
this.name = customer.getName();
this.phoneNumber = customer.getPhoneNumber();
diff --git a/user-service/src/main/java/com/justpickup/userservice/domain/user/web/UserController.java b/user-service/src/main/java/com/justpickup/userservice/domain/user/web/UserController.java
index 377a1bb..1525635 100644
--- a/user-service/src/main/java/com/justpickup/userservice/domain/user/web/UserController.java
+++ b/user-service/src/main/java/com/justpickup/userservice/domain/user/web/UserController.java
@@ -24,6 +24,33 @@ public class UserController {
private final UserService userService;
+ @GetMapping("/customer/")
+ public ResponseEntity getCustomerByToken(@Valid @RequestHeader(value = "user-id") String userId ) {
+
+ CustomerDto customerDto = userService.findCustomerByUserId(Long.parseLong(userId));
+
+ GetCustomerByTokenResponse getCustomerByTokenResponse = new GetCustomerByTokenResponse(customerDto);
+
+ return ResponseEntity.status(HttpStatus.OK)
+ .body(Result.createSuccessResult(getCustomerByTokenResponse));
+ }
+
+ @Data @NoArgsConstructor @AllArgsConstructor
+ static class GetCustomerByTokenResponse {
+ private Long userId;
+ private String email;
+ private String userName;
+ private String phoneNumber;
+
+ public GetCustomerByTokenResponse(CustomerDto customerDto) {
+ this.userId = customerDto.getId();
+ this.email = customerDto.getEmail();
+ this.userName = customerDto.getName();
+ this.phoneNumber = customerDto.getPhoneNumber();
+ }
+ }
+
+
@GetMapping("/customer/{userId}")
public ResponseEntity getCustomer(@Valid @PathVariable("userId") Long userId) {
diff --git a/user-service/src/test/java/com/justpickup/userservice/domain/user/web/UserControllerTest.java b/user-service/src/test/java/com/justpickup/userservice/domain/user/web/UserControllerTest.java
index 93c2c3d..7f7648a 100644
--- a/user-service/src/test/java/com/justpickup/userservice/domain/user/web/UserControllerTest.java
+++ b/user-service/src/test/java/com/justpickup/userservice/domain/user/web/UserControllerTest.java
@@ -21,12 +21,15 @@ import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.FilterType;
import org.springframework.context.annotation.Import;
import org.springframework.http.MediaType;
+import org.springframework.restdocs.headers.HeaderDocumentation;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.given;
import static org.mockito.BDDMockito.willThrow;
+import static org.springframework.restdocs.headers.HeaderDocumentation.headerWithName;
+import static org.springframework.restdocs.headers.HeaderDocumentation.requestHeaders;
import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document;
import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.get;
import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.post;
@@ -58,6 +61,53 @@ class UserControllerTest {
@SpyBean
CookieProvider cookieProvider;
+ @Test
+ @DisplayName("로그인된 회원 조회")
+ void getCustomerByToken() throws Exception {
+ // GIVEN
+ long userId = 1L;
+
+ CustomerDto willReturnDto = CustomerDto.builder()
+ .id(1L)
+ .name("이름")
+ .password("password!@#")
+ .email("hoonasdasd@naver.com")
+ .phoneNumber("010-1234-5678")
+ .build();
+
+ given(userService.findCustomerByUserId(userId))
+ .willReturn(willReturnDto);
+
+ // WHEN
+ ResultActions actions = mockMvc.perform(get("/customer/")
+ .header("user-id",userId));
+
+ // THEN
+ actions.andExpect(status().isOk())
+ .andExpect(jsonPath("code").value(Code.SUCCESS.name()))
+ .andExpect(jsonPath("message").value(""))
+ .andExpect(jsonPath("data.userId").value(1))
+ .andExpect(jsonPath("data.email").value("hoonasdasd@naver.com"))
+ .andExpect(jsonPath("data.userName").value("이름"))
+ .andExpect(jsonPath("data.phoneNumber").value("010-1234-5678"))
+ .andDo(print())
+ .andDo(document("customer-get-mypage",
+ requestHeaders(
+ headerWithName("user-id").description("로그인한 유저 id")
+ ),
+ responseFields(
+ fieldWithPath("code").description("결과코드 SUCCESS/ERROR"),
+ fieldWithPath("message").description("메시지"),
+ fieldWithPath("data.userId").description("회원 고유번호"),
+ fieldWithPath("data.userName").description("회원 이름"),
+ fieldWithPath("data.email").description("회원 이메일"),
+ fieldWithPath("data.phoneNumber").description("회원 휴대폰 번호")
+ ))
+ )
+ ;
+ }
+
+
@Test
@DisplayName("회원 조회")
void getCustomer() throws Exception {