-
Notifications
You must be signed in to change notification settings - Fork 3
[BE] Swagger Docs


Swagger docs 문서들은 application 모듈 > 각 도메인 > controller 하위에 위치 시킵니다.

controller는 swagger 문서화를 위해 controller 이름 + Docs라는 이름으로 interface를 만들고 상속받습니다(사실 굳이 docs라는 이름을 안붙여도 되지만, 통일성을 위해 요청드립니다!).
@RestController
@RequestMapping("/test/swagger")
class TestController: TestControllerDocs {
@GetMapping
override fun ping(): String {
return "Pong!"
}
}Swagger 관련 어노테이션은 모두 interface에서 작업합니다.
이 때, 여러개의 API 가 존재하여 한 파일에 지나치게 많은 API 명세가 들어가 가독성이 떨어지는 것을 피하기 위해 각 api 들은 별도의 인터페이스로 만들고 xxxControllerDocs 가 이를 상속받습니다.
@Tag(name = "점주 Test Controller", description = "점주 Test Controller 입니다.")
interface TestControllerDocs: Pinginterface Ping {
@Operation(
summary = "TestApi의 예시",
description = "TestApi 예시입니다.",
)
@Parameters(
value = [
Parameter(name = "TestParameter", description = "TestParameter 입니다."),
],
)
@ApiResponses(
value = [
ApiResponse(responseCode = "200", description = "OK"),
],
)
fun ping(): String
}
Copyright © 2024 FC-InnerCircle 2th o2o project backend team 🚚
🏠 Home
프로젝트 구조 Ver.1
프로젝트 구조 Ver.2
프로젝트 구조 Ver.3
시퀀스 다이어그램 Ver.1
시퀀스 다이어그램 Ver.2
🗳️ 컴포넌트 다이어그램
컴포넌트 다이어그램 Ver.1
🏗️ 인프라 다이어그램
인프라 다이어그램 Ver.1
인프라 다이어그램 Ver.2 - dev
인프라 다이어그램 Ver.3 - prod
배포 파이프라인 구성 Ver.1 ‐ dev
배포 파이프라인 구성 Ver.2 - prod
서버에 문서를 반영해야 프론트 개발자 분들께서 확인할 수 있는 번거로움을 줄이기 위하여 Notion 으로 API 를 문서화하도록 변경했습니다.
Swagger Docs
Notion API 문서화
- 🧾 (기능 설명) 주문, 결제 프로세스
- 🏷️ (기능 설명) 실시간 급상승 검색어(가게)
- 📉 nextjs 도커 이미지 경량화를 통해 인프라 리소스 비용 줄이기
- 🚀 주문 상세 조회 개선
- 🖥️ 모니터링 시스템 구축하기
O2O 개발의 민족 스토리
개발의 민족 프론트엔드 팀 :
@박용석 @전수현 @이영률 @정연희