Swagger , Springfox, Springdoc의 차이점

이수찬·2023년 4월 10일
0
  1. Swagger

Restful한 웹 서비스를 만들 때 API 문서를 자동으로 만들어주고, API를 직접 테스트할 수 있는 UI를 제공해준다.
OpenAPI Specification(REST API에 대한 API 설명 형식으로 직저 소스 코드나 문서를 보지 않고도 이해할 수 있도록 시각화하기 위한 인터페이스 파일의 사양을 말함.)을 기반으로 구축된 오픈 소스이다.
대표적인 라이브러리로는 Springfox Swagger, Springdoc이 존재한다.

  1. Springfox Swagger

Springfox Swagger는 Spring 프레임워크를 사용하는 프로젝트에서 Swagger를 이용해 API 문서를 쉽게 사용할 수 있게 도와주는 라이브러리
Springfox Swagger의 경우 3.00버전을 마지막으로 업데이트가 중단되었다. (Maven Repository 기준 2020년 7월 마지막 업테이트)

  1. Springdoc

Springdoc또한 Springfox Swagger와 같이 스프링 프레임워크로 개발하는 프로젝트의 Swagger문서를 쉽게 작성할 수 있도록 도와주는 라이브러리이며, webflux라는 방식의 웹 개발을 지원하도록 개발되었다.
Springdoc의 경우, yml파일 설정을 통해 그룹 간 API정렬이 가능하다.(가나다순, abc순 모두 가능하다.)

  1. 프로젝트에 적용한 라이브러리와 이유

나는 Springdoc을 프로젝트에 사용하기로 했다.
Springfox Swagger의 경우 2020년 7월에 업데이트를 한 이후, 후속 업데이트가 되지 않아 이후 나온 기능들에 대응이 안되는 경우가 종종 생긴다.
또한 그룹간 API 정렬이 가능하다.

https://velog.io/@suzhanlee/Swagger-GroupedOpenApi-%EC%84%A4%EC%A0%95-%EB%B0%A9%EB%B2%95

위의 글을 보면 그룹간 API가 무엇인지 알 수 있다.

결국 OpenApi를 문서화하기 위해 Swagger를 사용하였고,
Swagger3를 편리하게 사용하기 위해 Springdoc을 사용했다.

0개의 댓글