Skip to content

Commit 0897ccd

Browse files
authored
[Feat/update swagger responses] (#84)
* ✨ feat : add user's total running distance to my runimo fetch request * ✨ feat : add swagger-ui annotations to response related classes
1 parent fb66ae7 commit 0897ccd

4 files changed

Lines changed: 19 additions & 6 deletions

File tree

src/main/java/org/runimo/runimo/common/response/PageData.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
package org.runimo.runimo.common.response;
22

3+
import io.swagger.v3.oas.annotations.media.Schema;
34
import java.util.List;
45
import lombok.AccessLevel;
56
import lombok.AllArgsConstructor;
67
import lombok.Getter;
78
import lombok.NoArgsConstructor;
89

10+
@Schema
911
@Getter
1012
@AllArgsConstructor
1113
@NoArgsConstructor(access = AccessLevel.PROTECTED)
1214
public class PageData<T> {
1315

16+
@Schema(description = "페이지 데이터 목록")
1417
private List<T> items;
18+
@Schema(description = "페이지 정보")
1519
private PageInfo pagination;
1620

1721
public static <T> PageData<T> of(List<T> items, PageInfo pagination) {

src/main/java/org/runimo/runimo/common/response/SuccessPageResponse.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
package org.runimo.runimo.common.response;
22

3+
import io.swagger.v3.oas.annotations.media.Schema;
34
import lombok.Getter;
45
import lombok.NoArgsConstructor;
56
import org.runimo.runimo.exceptions.code.CustomResponseCode;
67

8+
@Schema(description = "성공 페이지 응답 DTO")
79
@Getter
810
@NoArgsConstructor(access = lombok.AccessLevel.PROTECTED)
911
public class SuccessPageResponse<T> extends Response {
1012

13+
@Schema(description = "페이지 데이터")
1114
private PageData<T> payload;
1215

1316
public SuccessPageResponse(boolean success, String message, String code,

src/main/java/org/runimo/runimo/records/controller/RecordController.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import org.runimo.runimo.records.controller.request.RecordUpdateRequest;
1818
import org.runimo.runimo.records.enums.RecordHttpResponse;
1919
import org.runimo.runimo.records.service.dto.RecordSimpleView;
20-
import org.runimo.runimo.records.service.dto.RecordSimpleViewResponse;
2120
import org.runimo.runimo.records.service.dto.WeeklyRecordStatResponse;
2221
import org.runimo.runimo.records.service.dto.WeeklyStatQuery;
2322
import org.runimo.runimo.records.service.usecases.RecordCreateUsecase;
@@ -30,6 +29,7 @@
3029
import org.runimo.runimo.records.service.usecases.dtos.RecordSaveResponse;
3130
import org.runimo.runimo.user.controller.UserId;
3231
import org.runimo.runimo.user.enums.UserHttpResponseCode;
32+
import org.springdoc.core.annotations.ParameterObject;
3333
import org.springframework.http.ResponseEntity;
3434
import org.springframework.web.bind.annotation.GetMapping;
3535
import org.springframework.web.bind.annotation.ModelAttribute;
@@ -146,11 +146,10 @@ public ResponseEntity<SuccessResponse<MonthlyRecordStatResponse>> queryMonthlyRe
146146
}
147147

148148
@Operation(summary = "개인 기록 페이지네이션 전체 조회", description = "개인 기록 페이지네이션 조회")
149-
@ApiResponse(responseCode = "200", description = "기록 조회 성공",
150-
content = @Content(schema = @Schema(implementation = RecordSimpleViewResponse.class)))
149+
@ApiResponse(responseCode = "200", description = "기록 조회 성공")
151150
@GetMapping("/me")
152151
public ResponseEntity<SuccessPageResponse<RecordSimpleView>> getMyRecordList(
153-
@ModelAttribute MyRecordPageRequest request,
152+
@ParameterObject @ModelAttribute MyRecordPageRequest request,
154153
@UserId Long userId
155154
) {
156155
return ResponseEntity.ok(
Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,33 @@
11
package org.runimo.runimo.records.controller.request;
22

3+
import io.swagger.v3.oas.annotations.Parameter;
4+
import io.swagger.v3.oas.annotations.media.Schema;
35
import jakarta.validation.constraints.Max;
46
import jakarta.validation.constraints.Min;
57
import java.time.LocalDate;
68
import lombok.Getter;
79
import lombok.Setter;
810
import org.runimo.runimo.records.service.dto.RecordQuery;
911

12+
@Schema(description = "기록 조회 요청 파라매터")
1013
@Getter
1114
@Setter
1215
public class MyRecordPageRequest {
1316

17+
@Parameter(description = "페이지 번호", example = "0")
1418
@Min(0)
1519
private Integer page = 0;
20+
@Parameter(description = "페이지 당 크기", example = "10")
1621
@Min(1)
1722
@Max(20)
1823
private Integer size = 10;
24+
@Parameter(description = "시작 날짜(기본값 : 요청 시점)", example = "2024-04-04")
1925
private LocalDate startDate = LocalDate.now();
26+
@Parameter(description = "종료 날짜(기본값 : 요청 시점)", example = "2024-04-04")
2027
private LocalDate endDate = LocalDate.now();
2128

2229
public static RecordQuery toQuery(MyRecordPageRequest request, Long userId) {
23-
return new RecordQuery(userId, request.getPage(), request.getSize(),
24-
request.getStartDate(), request.getEndDate());
30+
return new RecordQuery(userId, request.getPage(), request.getSize(), request.getStartDate(),
31+
request.getEndDate());
2532
}
2633
}

0 commit comments

Comments
 (0)