-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #93 from Team-Going/feature/90
[chore] Trip, User 관련 Swagger 설정
- Loading branch information
Showing
5 changed files
with
693 additions
and
3 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
311 changes: 311 additions & 0 deletions
311
doorip-api/src/main/java/org/doorip/trip/api/TripApi.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,311 @@ | ||
package org.doorip.trip.api; | ||
|
||
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.responses.ApiResponse; | ||
import io.swagger.v3.oas.annotations.security.SecurityRequirement; | ||
import io.swagger.v3.oas.annotations.tags.Tag; | ||
import org.doorip.auth.UserId; | ||
import org.doorip.common.BaseResponse; | ||
import org.doorip.trip.dto.request.TripCreateRequest; | ||
import org.doorip.trip.dto.request.TripEntryRequest; | ||
import org.doorip.trip.dto.request.TripVerifyRequest; | ||
import org.springframework.http.ResponseEntity; | ||
import org.springframework.web.bind.annotation.PathVariable; | ||
import org.springframework.web.bind.annotation.RequestBody; | ||
import org.springframework.web.bind.annotation.RequestParam; | ||
|
||
@Tag(name = "여행 관련 API") | ||
@SecurityRequirement(name = "Authorization") | ||
public interface TripApi { | ||
@Operation( | ||
summary = "여행 생성 API", | ||
responses = { | ||
@ApiResponse( | ||
responseCode = "201", | ||
description = "요청이 성공했습니다."), | ||
@ApiResponse( | ||
responseCode = "400", | ||
description = "잘못된 요청입니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "400", | ||
description = "유효하지 않은 날짜 타입입니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "401", | ||
description = "액세스 토큰의 형식이 올바르지 않습니다. Bearer 타입을 확인해 주세요.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "401", | ||
description = "액세스 토큰의 값이 올바르지 않습니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "401", | ||
description = "액세스 토큰이 만료되었습니다. 재발급 받아주세요.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "404", | ||
description = "존재하지 않는 회원입니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "405", | ||
description = "잘못된 HTTP method 요청입니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "500", | ||
description = "서버 내부 오류입니다.", | ||
content = @Content)}) | ||
ResponseEntity<BaseResponse<?>> createTrip(@Parameter(hidden = true) | ||
@UserId final Long userId, | ||
@RequestBody final TripCreateRequest request); | ||
|
||
@Operation( | ||
summary = "여행 대시보드 전체 조회 API", | ||
responses = { | ||
@ApiResponse( | ||
responseCode = "200", | ||
description = "요청이 성공했습니다."), | ||
@ApiResponse( | ||
responseCode = "400", | ||
description = "잘못된 요청입니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "400", | ||
description = "유효하지 않은 요청 파라미터 값입니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "401", | ||
description = "액세스 토큰의 형식이 올바르지 않습니다. Bearer 타입을 확인해 주세요.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "401", | ||
description = "액세스 토큰의 값이 올바르지 않습니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "401", | ||
description = "액세스 토큰이 만료되었습니다. 재발급 받아주세요.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "404", | ||
description = "존재하지 않는 회원입니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "405", | ||
description = "잘못된 HTTP method 요청입니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "500", | ||
description = "서버 내부 오류입니다.", | ||
content = @Content)}) | ||
ResponseEntity<BaseResponse<?>> getTrips(@Parameter(hidden = true) | ||
@UserId final Long userId, | ||
@Parameter(name = "progress", description = "complete/incomplete") | ||
@RequestParam final String progress); | ||
|
||
@Operation( | ||
summary = "초대 코드 검증 API", | ||
responses = { | ||
@ApiResponse( | ||
responseCode = "200", | ||
description = "요청이 성공했습니다."), | ||
@ApiResponse( | ||
responseCode = "400", | ||
description = "잘못된 요청입니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "401", | ||
description = "액세스 토큰의 형식이 올바르지 않습니다. Bearer 타입을 확인해 주세요.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "401", | ||
description = "액세스 토큰의 값이 올바르지 않습니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "401", | ||
description = "액세스 토큰이 만료되었습니다. 재발급 받아주세요.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "404", | ||
description = "존재하지 않는 여행입니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "405", | ||
description = "잘못된 HTTP method 요청입니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "500", | ||
description = "서버 내부 오류입니다.", | ||
content = @Content)}) | ||
ResponseEntity<BaseResponse<?>> verifyCode(@RequestBody final TripVerifyRequest request); | ||
|
||
@Operation( | ||
summary = "여행 입장 API", | ||
responses = { | ||
@ApiResponse( | ||
responseCode = "201", | ||
description = "요청이 성공했습니다."), | ||
@ApiResponse( | ||
responseCode = "400", | ||
description = "잘못된 요청입니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "401", | ||
description = "액세스 토큰의 형식이 올바르지 않습니다. Bearer 타입을 확인해 주세요.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "401", | ||
description = "액세스 토큰의 값이 올바르지 않습니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "401", | ||
description = "액세스 토큰이 만료되었습니다. 재발급 받아주세요.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "404", | ||
description = "존재하지 않는 회원입니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "404", | ||
description = "존재하지 않는 여행입니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "405", | ||
description = "잘못된 HTTP method 요청입니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "500", | ||
description = "서버 내부 오류입니다.", | ||
content = @Content)}) | ||
ResponseEntity<BaseResponse<?>> entryTrip(@PathVariable final Long tripId, | ||
@Parameter(hidden = true) | ||
@UserId final Long userId, | ||
@RequestBody final TripEntryRequest request); | ||
|
||
@Operation( | ||
summary = "여행 My TODO 상세 조회 API", | ||
responses = { | ||
@ApiResponse( | ||
responseCode = "200", | ||
description = "요청이 성공했습니다."), | ||
@ApiResponse( | ||
responseCode = "400", | ||
description = "잘못된 요청입니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "401", | ||
description = "액세스 토큰의 형식이 올바르지 않습니다. Bearer 타입을 확인해 주세요.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "401", | ||
description = "액세스 토큰의 값이 올바르지 않습니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "401", | ||
description = "액세스 토큰이 만료되었습니다. 재발급 받아주세요.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "404", | ||
description = "존재하지 않는 여행입니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "404", | ||
description = "해당 여행에 참여자로 존재하지 않습니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "405", | ||
description = "잘못된 HTTP method 요청입니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "500", | ||
description = "서버 내부 오류입니다.", | ||
content = @Content)}) | ||
ResponseEntity<BaseResponse<?>> getMyTodoDetail(@Parameter(hidden = true) | ||
@UserId final Long userId, | ||
@PathVariable final Long tripId); | ||
|
||
@Operation( | ||
summary = "여행 Our TODO 상세 조회 API", | ||
responses = { | ||
@ApiResponse( | ||
responseCode = "200", | ||
description = "요청이 성공했습니다."), | ||
@ApiResponse( | ||
responseCode = "400", | ||
description = "잘못된 요청입니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "401", | ||
description = "액세스 토큰의 형식이 올바르지 않습니다. Bearer 타입을 확인해 주세요.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "401", | ||
description = "액세스 토큰의 값이 올바르지 않습니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "401", | ||
description = "액세스 토큰이 만료되었습니다. 재발급 받아주세요.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "404", | ||
description = "존재하지 않는 여행입니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "404", | ||
description = "해당 여행에 참여자로 존재하지 않습니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "405", | ||
description = "잘못된 HTTP method 요청입니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "500", | ||
description = "서버 내부 오류입니다.", | ||
content = @Content)}) | ||
ResponseEntity<BaseResponse<?>> getOurTodoDetail(@Parameter(hidden = true) | ||
@UserId final Long userId, | ||
@PathVariable final Long tripId); | ||
|
||
@Operation( | ||
summary = "여행 친구 전체 조회 API", | ||
responses = { | ||
@ApiResponse( | ||
responseCode = "200", | ||
description = "요청이 성공했습니다."), | ||
@ApiResponse( | ||
responseCode = "400", | ||
description = "잘못된 요청입니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "401", | ||
description = "액세스 토큰의 형식이 올바르지 않습니다. Bearer 타입을 확인해 주세요.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "401", | ||
description = "액세스 토큰의 값이 올바르지 않습니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "401", | ||
description = "액세스 토큰이 만료되었습니다. 재발급 받아주세요.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "404", | ||
description = "존재하지 않는 여행입니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "404", | ||
description = "해당 여행에 참여자로 존재하지 않습니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "405", | ||
description = "잘못된 HTTP method 요청입니다.", | ||
content = @Content), | ||
@ApiResponse( | ||
responseCode = "500", | ||
description = "서버 내부 오류입니다.", | ||
content = @Content)}) | ||
ResponseEntity<BaseResponse<?>> getParticipants(@Parameter(hidden = true) | ||
@UserId final Long userId, | ||
@PathVariable final Long tripId); | ||
} |
Oops, something went wrong.