Skip to content

swagger

kimhji edited this page Dec 1, 2024 · 1 revision

사용 배경

api 문서를 함께 이야기하여 작성했지만, 이후 개발과정에서 문서 수정과 실시간 업데이트를 돕기 위하여 swagger를 사용하고자 했습니다.

구현 방식

  • 사용한 api 데코레이터

    • controller method들에 붙은 api 데코레이터

      • api method 설명 추가

        @ApiOperation({ summary: 'lotus 상세 데이터 가져오기' })
      • 요청 query 예시 추가

        @ApiQuery({ name: 'lotusId', type: String, example: '25' })
      • 요청 body 예시 추가

        @ApiBody({ type: HistoryExecRequestDto })
      • 결과 예시 추가

        @ApiResponse({ status: 200, description: '실행 성공', type: LotusDetailDto })
    • dto에 붙은 api 데코레이터

      • dto 예제 추가(api type에 해당 dto가 추가되는 경우 해당 예제를 보여줄 수 있습니다.)

        @ApiProperty({
            type?: [ResponseGistDto]
            example?: 'PENDING'
          })
  • api 데코레이터를 사용하여 표기한 정보

    • 각 모듈의 controller의 필요 입력값과 출력값 등에 대한 정보
      • type
      • 예제
      • etc.

구현된 페이지 화면

image

image

image

Clone this wiki locally