정의 :
개발자가 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://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 |