Swagger, Springfox, Springdoc의 차이점
Swagger
Restful한 웹 서비스를 만들 때 API 문서를 자동으로 만들어주고, API를 직접 테스트할 수 있는 UI를 제공해준다.
OpenAPI Specification(REST API에 대한 API 설명 형식으로 직저 소스 코드나 문서를 보지 않고도 이해할 수 있도록 시각화하기 위한 인터페이스 파일의 사양을 말함.)을 기반으로 구축된 오픈 소스이다.
대표적인 라이브러리로는 Springfox Swagger, Springdoc이 존재한다.
Springfox Swagger
Spring framework를 사용하는 프로젝트에서 Swagger를 이용할 수 있게 도와주는 라이브러리
기준 2015년에 처음 나와 2020년 7월에 3.0.0 버전을 마지막으로 업데이트 되고 있지 않다.
2018년까지 많은 사용자가 사용한 것으로 보이나 2018년 6월을 기점으로 업데이트가 2년 간 중단되었다.
Springdoc
Springfox Swagger와 마찬가지로 Swagger를 이용할 수 있게 도와주는 라이브러리 Springfox가 업데이트를 중단한 사이(2019년 7월)에 처음 나왔다. mvnrepository 기준 비교적 최근인 2024년 3월까지 업데이트되었다.
Springdoc또한 Springfox Swagger와 같이 스프링 프레임워크로 개발하는 프로젝트의 Swagger문서를 쉽게 작성할 수 있도록 도와주는 라이브러리이며, webflux라는 방식의 웹 개발을 지원하도록 개발되었다.
Springdoc의 경우, yml파일 설정을 통해 그룹 간 API정렬이 가능하다.(가나다순, abc순 모두 가능하다.)
다른점
- Springfox가 2년 간 업데이트 하지 않는 동안 Springdoc은 webflux라는 논 블록킹 비동기 방식의 웹 개발을 지원하도록 개발되었다.
참고 링크 : https://velog.io/@suzhanlee/Swagger-Springfox-Springdoc