Swagger란?
- 자동으로 API 문서를 작성할 수 있게 해주는 라이브러리다.
- 동일한 기능을 제공해주는 것으로 RestDocs가 있다.
RestDocs
- 테스트코드 기반으로 자동으로 API 문서를 제공해준다.
- 테스트코드 기반이기 때문에 코드가 변경되거나 그럴 경우 신뢰하고 사용이 가능하다
- TEXT로 명세된 API 설명
- 동작원리

Swagger
- 애노테이션을 이용해서 API 문서를 작성해준다.
- TEXT +호출할 수 있는 UI를 제공한다.
Spring 진영의 문서화 프레임워크
ㅤ | RestDocs | Swagger |
장점 | 제품 코드에 영향이 없다. | API 테스트 화면을 제공한다. |
ㅤ | 테스트와 함께 쓰일 수 있다. | 적용하기 용이하다.(애노테이션 기반) |
단점 | 적용하기 어렵다 | 제품코드에 애노테이션을 추가해야 한다. |
ㅤ | ㅤ | 제품코드와 동기화가 안될 수 있다. |
스웨거는 어떻게 사용하는가?
- 직접 동작하는 부분 확인하기
- Swagger 3.0 이슈
- 주의 사항 2.0과 다르게 URL 앤드포인트가 달라졌다.
- http://localhost:8080/swagger-ui.html
- http://localhost:8080/wagger-ui/ 로변경
- yml property add 3.0에서는 반드시 필수적이다 !
왜 사용해야 하는가?
- API Spec이 변경되거나 추가/삭제 되는 부분에 대해 항상 테스트코드를 수정해야 하며 API 문서가 최신화 될 수 있도록 해줘야한다.