diff --git a/.gitignore b/.gitignore index 611b4643..29c585e5 100644 --- a/.gitignore +++ b/.gitignore @@ -48,3 +48,5 @@ firebase*.json ### monitoring ### monitoring/prometheus/volume monitoring/grafana + +src/main/resources/application-local.yml diff --git a/src/docs/asciidoc/check-user-v2.adoc b/src/docs/asciidoc/check-user-v2.adoc index bde16dd2..e536e83a 100644 --- a/src/docs/asciidoc/check-user-v2.adoc +++ b/src/docs/asciidoc/check-user-v2.adoc @@ -8,6 +8,27 @@ include::{snippets}/api/v2/user/http-request.adoc[] include::{snippets}/api/v2/user/http-response.adoc[] +*필드 타입* + +- "userId": Long +- "name": String +- "yelloId": String +- "gender": "M" | "F" +- "email": String +- "profileImageUrl": String +- "social": "KAKAO" | "APPLE" +- "uuid": String(10) +- "deviceToken": String +- "group": String +- "groupType": "UNIVERSITY" | "HIGH_SCHOOL" | "MIDDLE_SCHOOL" | "SOPT" +- "groupName": String +- "subGroupName": String +- "groupAdmissionYear": Integer +- "recommendCount": Long +- "ticketCount": Integer +- "point": Integer +- "subscribe": "normal" | "active" | "canceled" + === Note - 내 정보 조회하기 V1가 제공했던 단편적인 정보를 보완하기 위해 설계된 API입니다. @@ -16,4 +37,5 @@ include::{snippets}/api/v2/user/http-response.adoc[] === CHANGELOG -- 2024.01.07 첫 릴리즈 \ No newline at end of file +- 2024.01.07 첫 릴리즈 +- 2024.01.09 필드 타입 추가 \ No newline at end of file diff --git a/src/main/java/com/yello/server/domain/notice/entity/Notice.java b/src/main/java/com/yello/server/domain/notice/entity/Notice.java index c8e3b96a..c578200c 100644 --- a/src/main/java/com/yello/server/domain/notice/entity/Notice.java +++ b/src/main/java/com/yello/server/domain/notice/entity/Notice.java @@ -31,4 +31,4 @@ public class Notice extends AuditingTimeEntity { @Column(nullable = false) private Boolean isAvailable; -} +} \ No newline at end of file diff --git a/src/main/java/com/yello/server/domain/user/controller/UserController.java b/src/main/java/com/yello/server/domain/user/controller/UserController.java index 49ebff1d..9ee35812 100644 --- a/src/main/java/com/yello/server/domain/user/controller/UserController.java +++ b/src/main/java/com/yello/server/domain/user/controller/UserController.java @@ -6,6 +6,7 @@ import com.yello.server.domain.user.dto.request.UserDeviceTokenRequest; import com.yello.server.domain.user.dto.response.UserDetailResponse; +import com.yello.server.domain.user.dto.response.UserDetailV2Response; import com.yello.server.domain.user.dto.response.UserResponse; import com.yello.server.domain.user.entity.User; import com.yello.server.domain.user.service.UserService; @@ -24,24 +25,30 @@ @RestController @RequiredArgsConstructor -@RequestMapping("/api/v1/user") +@RequestMapping("/api") public class UserController { private final UserService userService; - @GetMapping + @GetMapping("/v1/user") public BaseResponse findUser(@AccessTokenUser User user) { val data = userService.findMyProfile(user.getId()); return BaseResponse.success(READ_USER_SUCCESS, data); } - @GetMapping("/{userId}") + @GetMapping("/v2/user") + public BaseResponse getUser(@AccessTokenUser User user) { + val data = userService.getUserDetailV2(user.getId()); + return BaseResponse.success(READ_USER_SUCCESS, data); + } + + @GetMapping("/v1/user/{userId}") public BaseResponse findUserById(@PathVariable Long userId) { val data = userService.findUserById(userId); return BaseResponse.success(READ_USER_SUCCESS, data); } - @PutMapping("/device") + @PutMapping("/v1/user/device") public BaseResponse putUserDeviceToken( @AccessTokenUser User user, @RequestBody UserDeviceTokenRequest request @@ -50,7 +57,7 @@ public BaseResponse putUserDeviceToken( return BaseResponse.success(UPDATE_DEVICE_TOKEN_USER_SUCCESS, data); } - @DeleteMapping + @DeleteMapping("/v1/user") public BaseResponse deleteUser(@AccessTokenUser User user) { userService.delete(user); return BaseResponse.success(DELETE_USER_SUCCESS); diff --git a/src/main/java/com/yello/server/domain/user/controller/UserV2Controller.java b/src/main/java/com/yello/server/domain/user/controller/UserV2Controller.java deleted file mode 100644 index c6fe188a..00000000 --- a/src/main/java/com/yello/server/domain/user/controller/UserV2Controller.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.yello.server.domain.user.controller; - -import static com.yello.server.global.common.SuccessCode.READ_USER_SUCCESS; - -import com.yello.server.domain.user.dto.response.UserDetailV2Response; -import com.yello.server.domain.user.entity.User; -import com.yello.server.domain.user.service.UserService; -import com.yello.server.global.common.annotation.AccessTokenUser; -import com.yello.server.global.common.dto.BaseResponse; -import lombok.RequiredArgsConstructor; -import lombok.val; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@RequiredArgsConstructor -@RequestMapping("/api/v2/user") -public class UserV2Controller { - - private final UserService userService; - - @GetMapping - public BaseResponse getUser(@AccessTokenUser User user) { - val data = userService.getUserDetailV2(user.getId()); - return BaseResponse.success(READ_USER_SUCCESS, data); - } -} diff --git a/src/main/resources/static/docs/check-user-v2.html b/src/main/resources/static/docs/check-user-v2.html index 729b78e9..80dd6036 100644 --- a/src/main/resources/static/docs/check-user-v2.html +++ b/src/main/resources/static/docs/check-user-v2.html @@ -488,6 +488,67 @@

응답

} +
+

필드 타입

+
+
+
    +
  • +

    "userId": Long

    +
  • +
  • +

    "name": String

    +
  • +
  • +

    "yelloId": String

    +
  • +
  • +

    "gender": "M" | "F"

    +
  • +
  • +

    "email": String

    +
  • +
  • +

    "profileImageUrl": String

    +
  • +
  • +

    "social": "KAKAO" | "APPLE"

    +
  • +
  • +

    "uuid": String(10)

    +
  • +
  • +

    "deviceToken": String

    +
  • +
  • +

    "group": String

    +
  • +
  • +

    "groupType": "UNIVERSITY" | "HIGH_SCHOOL" | "MIDDLE_SCHOOL" | "SOPT"

    +
  • +
  • +

    "groupName": String

    +
  • +
  • +

    "subGroupName": String

    +
  • +
  • +

    "groupAdmissionYear": Integer

    +
  • +
  • +

    "recommendCount": Long

    +
  • +
  • +

    "ticketCount": Integer

    +
  • +
  • +

    "point": Integer

    +
  • +
  • +

    "subscribe": "normal" | "active" | "canceled"

    +
  • +
+

Note

@@ -512,6 +573,9 @@

CHANGELOG

  • 2024.01.07 첫 릴리즈

  • +
  • +

    2024.01.09 필드 타입 추가

    +
  • @@ -521,7 +585,7 @@

    CHANGELOG

    diff --git a/src/main/resources/static/docs/check-user.html b/src/main/resources/static/docs/check-user.html index 5035328c..7924d305 100644 --- a/src/main/resources/static/docs/check-user.html +++ b/src/main/resources/static/docs/check-user.html @@ -485,7 +485,7 @@

    응답

    diff --git a/src/main/resources/static/docs/index.html b/src/main/resources/static/docs/index.html index bd05be42..c41f669c 100644 --- a/src/main/resources/static/docs/index.html +++ b/src/main/resources/static/docs/index.html @@ -607,7 +607,7 @@

    Pay API

    diff --git a/src/test/java/com/yello/server/domain/user/medium/UserControllerTest.java b/src/test/java/com/yello/server/domain/user/medium/UserControllerTest.java index 0e05b236..d936777e 100644 --- a/src/test/java/com/yello/server/domain/user/medium/UserControllerTest.java +++ b/src/test/java/com/yello/server/domain/user/medium/UserControllerTest.java @@ -17,7 +17,6 @@ import com.yello.server.domain.authorization.filter.JwtFilter; import com.yello.server.domain.group.entity.UserGroupType; import com.yello.server.domain.user.controller.UserController; -import com.yello.server.domain.user.controller.UserV2Controller; import com.yello.server.domain.user.dto.request.UserDeviceTokenRequest; import com.yello.server.domain.user.dto.response.UserDetailResponse; import com.yello.server.domain.user.dto.response.UserDetailV2Response; @@ -50,8 +49,7 @@ @AutoConfigureRestDocs @WebMvcTest( controllers = { - UserController.class, - UserV2Controller.class + UserController.class }, excludeFilters = { @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = JwtFilter.class),