From 4c991c9c0c27dacc46082af0a7ac967012adcc2e Mon Sep 17 00:00:00 2001 From: ekgns33 Date: Tue, 8 Apr 2025 18:45:16 +0900 Subject: [PATCH 1/2] :sparkles: feat : update `/api/v1/users/eggs` api to `/api/v1/users/eggs/{incubatingEggId}` --- .../org/runimo/runimo/user/controller/EggController.java | 6 ++++-- .../runimo/user/controller/request/UseLovePointRequest.java | 3 --- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/runimo/runimo/user/controller/EggController.java b/src/main/java/org/runimo/runimo/user/controller/EggController.java index c160971c..5cfaa2fe 100644 --- a/src/main/java/org/runimo/runimo/user/controller/EggController.java +++ b/src/main/java/org/runimo/runimo/user/controller/EggController.java @@ -24,6 +24,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PatchMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -84,13 +85,14 @@ public ResponseEntity> queryMyEggs( @ApiResponse(responseCode = "400", description = "잘못된 요청 데이터"), @ApiResponse(responseCode = "401", description = "인증 실패") }) - @PatchMapping + @PatchMapping("{incubatingEggId}") public ResponseEntity> useLovePointToEgg( @UserId Long userId, + @PathVariable Long incubatingEggId, @Valid @RequestBody UseLovePointRequest request ) { UseLovePointResponse useLovePointResponse = giveLovePointToEggUsecase.execute( - new UseLovePointCommand(userId, request.incubatingEggId(), request.lovePointAmount()) + new UseLovePointCommand(userId, incubatingEggId, request.lovePointAmount()) ); return ResponseEntity.ok().body( SuccessResponse.of( diff --git a/src/main/java/org/runimo/runimo/user/controller/request/UseLovePointRequest.java b/src/main/java/org/runimo/runimo/user/controller/request/UseLovePointRequest.java index 4e8a338d..fd2f4c1b 100644 --- a/src/main/java/org/runimo/runimo/user/controller/request/UseLovePointRequest.java +++ b/src/main/java/org/runimo/runimo/user/controller/request/UseLovePointRequest.java @@ -6,13 +6,10 @@ description = "사랑의 포인트 사용 요청", example = """ { - "incubating_egg_id": 1, "love_point_amount": 100 } """) public record UseLovePointRequest( - @Schema(description = "부화중인 알 ID", example = "1") - Long incubatingEggId, @Schema(description = "사용할 사랑의 포인트", example = "100") Long lovePointAmount ) { From 7baf82f13f79555e2d03c9615b5bfb7508fd2d15 Mon Sep 17 00:00:00 2001 From: ekgns33 Date: Tue, 8 Apr 2025 18:45:38 +0900 Subject: [PATCH 2/2] :white_check_mark: test : update api test --- .../user/api/IncubatingEggAcceptanceTest.java | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/test/java/org/runimo/runimo/user/api/IncubatingEggAcceptanceTest.java b/src/test/java/org/runimo/runimo/user/api/IncubatingEggAcceptanceTest.java index d923551a..4731af78 100644 --- a/src/test/java/org/runimo/runimo/user/api/IncubatingEggAcceptanceTest.java +++ b/src/test/java/org/runimo/runimo/user/api/IncubatingEggAcceptanceTest.java @@ -93,13 +93,14 @@ void tearDown() { @Sql(scripts = "/sql/incubating_egg_test_data.sql", executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD) void 부화중인_알에_애정을_부여() throws JsonProcessingException { String token = "Bearer " + jwtTokenFactory.generateAccessToken("test-user-uuid-1"); - UseLovePointRequest request = new UseLovePointRequest(1L, 20L); + Long incubatingEggId = 1L; + UseLovePointRequest request = new UseLovePointRequest(20L); given() .header("Authorization", token) .contentType(ContentType.JSON) .body(objectMapper.writeValueAsString(request)) .when() - .patch("/api/v1/users/eggs") + .patch("/api/v1/users/eggs/{incubatingEggId}", incubatingEggId) .then() .log().all() .statusCode(200) @@ -115,6 +116,7 @@ void tearDown() { // given String userUuid = "test-user-uuid-1"; String token = "Bearer " + jwtTokenFactory.generateAccessToken(userUuid); + Long incubatingEggId = 1L; // 사용자의 초기 애정 포인트 조회 Integer initialLovePoint = given() @@ -130,7 +132,7 @@ void tearDown() { // when // 20포인트의 애정을 부여 Long useLovePointAmount = 20L; - UseLovePointRequest request = new UseLovePointRequest(1L, useLovePointAmount); + UseLovePointRequest request = new UseLovePointRequest(useLovePointAmount); // 알에 애정 부여 요청 given() @@ -138,7 +140,7 @@ void tearDown() { .contentType(ContentType.JSON) .body(objectMapper.writeValueAsString(request)) .when() - .patch("/api/v1/users/eggs") + .patch("/api/v1/users/eggs/{incubatingEggId}", incubatingEggId) .then() .log().all() .statusCode(200) @@ -164,6 +166,7 @@ void tearDown() { // given String userUuid = "test-user-uuid-1"; String token = "Bearer " + jwtTokenFactory.generateAccessToken(userUuid); + Long incubatingEggId = 1L; // 사용자의 초기 애정 포인트 조회 given() @@ -179,7 +182,7 @@ void tearDown() { // when // 20포인트의 애정을 부여 Long useLovePointAmount = 25L; - UseLovePointRequest request = new UseLovePointRequest(1L, useLovePointAmount); + UseLovePointRequest request = new UseLovePointRequest(useLovePointAmount); // 알에 애정 부여 요청 given() @@ -187,7 +190,7 @@ void tearDown() { .contentType(ContentType.JSON) .body(objectMapper.writeValueAsString(request)) .when() - .patch("/api/v1/users/eggs") + .patch("/api/v1/users/eggs/{incubatingEggId}", incubatingEggId) .then() .log().all() .statusCode(400); @@ -199,6 +202,7 @@ void tearDown() { // given String userUuid = "test-user-uuid-1"; String token = "Bearer " + jwtTokenFactory.generateAccessToken(userUuid); + Long incubatingEggId = 1L; // 사용자의 초기 애정 포인트 조회 Integer initialLovePoint = given() @@ -214,7 +218,7 @@ void tearDown() { // when // 20포인트의 애정을 부여 Long useLovePointAmount = 25L; - UseLovePointRequest request = new UseLovePointRequest(1L, useLovePointAmount); + UseLovePointRequest request = new UseLovePointRequest(useLovePointAmount); // 알에 애정 부여 요청 given() @@ -222,7 +226,7 @@ void tearDown() { .contentType(ContentType.JSON) .body(objectMapper.writeValueAsString(request)) .when() - .patch("/api/v1/users/eggs") + .patch("/api/v1/users/eggs/{incubatingEggId}", incubatingEggId) .then() .log().all() .statusCode(400);