-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[BE] docs: Swagger API 문서 업데이트 (#313)
* refactor: dto 생성 로직의 에러 수정 * docs: 리뷰 폼 응답 dto에 Swagger 어노테이션 추가 * docs: 리뷰 폼 응답 컨트롤러에 Swagger 어노테이션 추가 * docs: swagger examples 제외 * docs: 리뷰 쓰기 요청 dto에 Swagger 어노테이션 추가 * docs: 리뷰 쓰기 요청 컨트롤러에 Swagger 어노테이션 추가 * docs: api 문서 버전 표시 * docs: TemplateResponse dto api description 명칭 통일 * docs: 받은 리뷰 목록 조회 응답 dto에 Swagger 어노테이션 추가 * docs: 받은 리뷰 목록 조회 응답 컨트롤러 Swagger 어노테이션 추가 * docs: 리뷰 상세 조회 조회 응답 dto Swagger 어노테이션 추가 * docs: 리뷰 상세 조회 조회 응답 컨트롤러 Swagger 어노테이션 추가
- Loading branch information
Showing
16 changed files
with
295 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
8 changes: 8 additions & 0 deletions
8
backend/src/main/java/reviewme/review/dto/request/create/CreateReviewAnswerRequest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,18 @@ | ||
package reviewme.review.dto.request.create; | ||
|
||
import io.swagger.v3.oas.annotations.media.Schema; | ||
import java.util.List; | ||
|
||
@Schema(name = "리뷰 답변 내용") | ||
public record CreateReviewAnswerRequest( | ||
|
||
@Schema(description = "질문 ID") | ||
long questionId, | ||
|
||
@Schema(description = "선택된 옵션 ID 목록", nullable = true) | ||
List<Long> selectedOptionIds, | ||
|
||
@Schema(description = "답변 내용", nullable = true) | ||
String text | ||
) { | ||
} |
6 changes: 6 additions & 0 deletions
6
backend/src/main/java/reviewme/review/dto/request/create/CreateReviewRequest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,15 @@ | ||
package reviewme.review.dto.request.create; | ||
|
||
import io.swagger.v3.oas.annotations.media.Schema; | ||
import java.util.List; | ||
|
||
@Schema(name = "리뷰 생성 요청") | ||
public record CreateReviewRequest( | ||
|
||
@Schema(description = "리뷰 요청 코드") | ||
String reviewRequestCode, | ||
|
||
@Schema(description = "답변 목록") | ||
List<CreateReviewAnswerRequest> answers | ||
) { | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
10 changes: 10 additions & 0 deletions
10
.../src/main/java/reviewme/review/service/dto/response/detail/OptionGroupAnswerResponse.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,21 @@ | ||
package reviewme.review.service.dto.response.detail; | ||
|
||
import io.swagger.v3.oas.annotations.media.Schema; | ||
import java.util.List; | ||
|
||
@Schema(name = "옵션 그룹 정보") | ||
public record OptionGroupAnswerResponse( | ||
|
||
@Schema(description = "옵션 그룹 ID") | ||
long optionGroupId, | ||
|
||
@Schema(description = "최소 선택 수") | ||
long minCount, | ||
|
||
@Schema(description = "최대 선택 수") | ||
long maxCount, | ||
|
||
@Schema(description = "옵션 목록") | ||
List<OptionItemAnswerResponse> options | ||
) { | ||
} |
9 changes: 9 additions & 0 deletions
9
...d/src/main/java/reviewme/review/service/dto/response/detail/OptionItemAnswerResponse.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,17 @@ | ||
package reviewme.review.service.dto.response.detail; | ||
|
||
import io.swagger.v3.oas.annotations.media.Schema; | ||
|
||
@Schema(name = "옵션 및 선택 정보") | ||
public record OptionItemAnswerResponse( | ||
|
||
@Schema(description = "옵션 ID") | ||
long optionId, | ||
|
||
@Schema(description = "내용") | ||
String content, | ||
|
||
@Schema(description = "선택 여부") | ||
boolean isChecked | ||
) { | ||
} |
20 changes: 18 additions & 2 deletions
20
...end/src/main/java/reviewme/review/service/dto/response/detail/QuestionAnswerResponse.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,30 @@ | ||
package reviewme.review.service.dto.response.detail; | ||
|
||
import io.swagger.v3.oas.annotations.media.Schema; | ||
import jakarta.annotation.Nullable; | ||
import reviewme.question.domain.QuestionType; | ||
|
||
@Schema(name = "질문 및 답변 정보") | ||
public record QuestionAnswerResponse( | ||
|
||
@Schema(description = "질문 ID") | ||
long questionId, | ||
|
||
@Schema(description = "필수 여부") | ||
boolean required, | ||
|
||
@Schema(description = "질문 유형") | ||
QuestionType questionType, | ||
|
||
@Schema(description = "질문") | ||
String content, | ||
@Nullable OptionGroupAnswerResponse optionGroup, | ||
@Nullable String answer | ||
|
||
@Schema(description = "옵션 그룹", nullable = true) | ||
@Nullable | ||
OptionGroupAnswerResponse optionGroup, | ||
|
||
@Schema(description = "답변", nullable = true) | ||
@Nullable | ||
String answer | ||
) { | ||
} |
8 changes: 8 additions & 0 deletions
8
backend/src/main/java/reviewme/review/service/dto/response/detail/SectionAnswerResponse.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,18 @@ | ||
package reviewme.review.service.dto.response.detail; | ||
|
||
import io.swagger.v3.oas.annotations.media.Schema; | ||
import java.util.List; | ||
|
||
@Schema(name = "리뷰 섹션 정보") | ||
public record SectionAnswerResponse( | ||
|
||
@Schema(description = "섹션 ID") | ||
long sectionId, | ||
|
||
@Schema(description = "말머리") | ||
String header, | ||
|
||
@Schema(description = "질문 목록") | ||
List<QuestionAnswerResponse> questions | ||
) { | ||
} |
12 changes: 12 additions & 0 deletions
12
...end/src/main/java/reviewme/review/service/dto/response/detail/TemplateAnswerResponse.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,25 @@ | ||
package reviewme.review.service.dto.response.detail; | ||
|
||
import io.swagger.v3.oas.annotations.media.Schema; | ||
import java.time.LocalDate; | ||
import java.util.List; | ||
|
||
@Schema(name = "리뷰 상세 정보") | ||
public record TemplateAnswerResponse( | ||
|
||
@Schema(description = "폼 ID") | ||
long formId, | ||
|
||
@Schema(description = "리뷰이 이름") | ||
String revieweeName, | ||
|
||
@Schema(description = "프로젝트 이름") | ||
String projectName, | ||
|
||
@Schema(description = "리뷰 작성일") | ||
LocalDate createdAt, | ||
|
||
@Schema(description = "섹션 목록") | ||
List<SectionAnswerResponse> sections | ||
) { | ||
} |
51 changes: 51 additions & 0 deletions
51
backend/src/main/java/reviewme/template/controller/TemplateApi.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
package reviewme.template.controller; | ||
|
||
import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; | ||
|
||
import io.swagger.v3.oas.annotations.Operation; | ||
import io.swagger.v3.oas.annotations.Parameter; | ||
import io.swagger.v3.oas.annotations.media.Content; | ||
import io.swagger.v3.oas.annotations.media.ExampleObject; | ||
import io.swagger.v3.oas.annotations.media.Schema; | ||
import io.swagger.v3.oas.annotations.responses.ApiResponse; | ||
import io.swagger.v3.oas.annotations.responses.ApiResponses; | ||
import io.swagger.v3.oas.annotations.tags.Tag; | ||
import org.springframework.http.ResponseEntity; | ||
import org.springframework.web.bind.annotation.RequestParam; | ||
import reviewme.template.dto.response.TemplateResponse; | ||
|
||
@Tag(name = "리뷰 폼 관리") | ||
public interface TemplateApi { | ||
|
||
@Operation(summary = "리뷰 폼 요청", description = "리뷰 작성을 위한 리뷰 폼을 요청한다.") | ||
@ApiResponses(value = { | ||
@ApiResponse( | ||
responseCode = "200", | ||
description = "응답 성공 : 리뷰 폼 응답", | ||
content = @Content( | ||
mediaType = APPLICATION_JSON_VALUE, | ||
schema = @Schema(implementation = TemplateResponse.class) | ||
) | ||
), | ||
@ApiResponse( | ||
responseCode = "400", | ||
description = "응답 실패 : 올바르지 않은 리뷰 요청 코드입니다.", | ||
content = @Content( | ||
mediaType = APPLICATION_JSON_VALUE, | ||
examples = @ExampleObject(value = """ | ||
{ | ||
"type": "about:blank", | ||
"title": "Bad Request", | ||
"status": 400, | ||
"detail": "올바르지 않은 리뷰 요청 코드입니다.", | ||
"instance": "/reviews/write" | ||
} | ||
""") | ||
) | ||
) | ||
}) | ||
ResponseEntity<TemplateResponse> getReviewForm( | ||
@Parameter(description = "리뷰 요청 코드", required = true) | ||
@RequestParam String reviewRequestCode | ||
); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
9 changes: 9 additions & 0 deletions
9
backend/src/main/java/reviewme/template/dto/response/OptionGroupResponse.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,21 @@ | ||
package reviewme.template.dto.response; | ||
|
||
import io.swagger.v3.oas.annotations.media.Schema; | ||
import java.util.List; | ||
|
||
@Schema(name = "옵션 그룹 응답") | ||
public record OptionGroupResponse( | ||
|
||
@Schema(description = "옵션 그룹 ID") | ||
long optionGroupId, | ||
|
||
@Schema(description = "최소 선택 수") | ||
int minCount, | ||
|
||
@Schema(description = "최대 선택 수") | ||
int maxCount, | ||
|
||
@Schema(description = "옵션 목록") | ||
List<OptionItemResponse> options | ||
) { | ||
} |
Oops, something went wrong.