정의 :

개발자가 REST API 서비스를 설계, 빌드, 문서화할 수 있도록 하는 프로젝트이다.

 

활용 : 

1. 다른 개발팀과 협업을 할 경우

2. 이미 구축되어있는 프로젝트에 대한 유지보수를 하는 경우

3. 백엔드의 API를 호출하는 프론ㅌ엔드 프로그램을 제작할 경우

 

기능 : 

API 디자인, 빌드, 문서화, 테스팅, 표준화

 

적용 : 

pom.xml에 의존성 추가

  <dependencies>
       <!-- Swagger -->
       <dependency>
           <groupId>io.springfox</groupId>
           <artifactId>springfox-swagger2</artifactId>
           <version>2.9.1</version>
       </dependency>
       <dependency>
           <groupId>io.springfox</groupId>
           <artifactId>springfox-swagger-ui</artifactId>
           <version>2.9.1</version>
       </dependency>
   </dependencies>

 

컨트롤러 : 

  • @Api
    • 해당클래스가 Swagger 리소스라는 것을 명시한다
    • value
      • 태그를 작성한다.
    • tags
      • 사용하여 여러 개의 태그를 정의할 수도 있다.
  • @ApiOperation
    • 한 개의 operation(즉 API URL과 Method)을 선언한다
    • value
      • API에 대한 간략한 설명(제목같은 느낌으로)을 작성한다
    • notes
      • 더 자세한 설명을 작성해준다.
  • @ApiParam
    • operation의 가능한 reponse를 명시한다.
    • code
      • 응답모드를 작성한다.
    • message -응답에 대한 설명을 작성한다.
    • responseHeaders
      • 헤더를 추가할 수 있다.
  • @ApiParam
    • 파라미터에 대한 정보를 명시한다.
    • value
      • 파라미터 정보를 작성한다.
    • required
      • 필수 파라미터이면 true, 아니면 false를 작성한다.
    • example
      • 테스트를 할 때 보여줄 예시를 작성한다.

 


참고 : 
https://sarc.io/index.php/development/1974-swagger

https://doozi316.github.io/web/2020/10/16/WEB29/

https://jjingho.tistory.com/8

https://jojoldu.tistory.com/31

 

 

'개발합시다. > BackEnd 공부' 카테고리의 다른 글

웹사이트 배포란??  (0) 2021.08.27
[DB] Index Structures (인덱스 구조)  (0) 2021.08.26
SOAP API 와 REST API  (0) 2021.08.25
데이터 베이스 정규화  (0) 2021.08.23
OPEN API와 Json (java)  (0) 2021.08.19

+ Recent posts