Springfox Swagger vs SpringDoc
Spring 기반의 API Docs를 가능하게 해주는 건 크게 Springfox Swagger와 SpringDoc이 있습니다.
그러나 최근 Spring에서 밀고 있는 건 SpringDoc입니다. Springfox Swagger를 잘 발전시킨 것이 SpringDoc이기 때문입니다.
Springfox Swaggerrk 2018년까지 많이 사용되다 2018년 6월을 마지막으로 업데이트가 중지되었고 그 사이 2019년 7월에 springdoc이 나와 SpringDoc을 더 많이 사용하고 있습니다.
그러던 중 2020년 6월 Springfox가 새로운 버전을 만들어 현재는 두 개를 혼용해서 많이 사용하고 있지만, Spring에서 더 선호하는 것도 SpringDoc이고, 더 많은 기능을 제공하며, 레거시 코드가 Springfox에 비해 비교적 더 적기 때문에 SpringDoc
을 사용할 것을 권장합니다.
SpringFox Maven Repository
Springdoc Maven Repository
SpringDoc OpenAPI
SpringDoc OpenAPI
- SpringDoc OpenAPI는 OAS 3.0 지원
- springfox에서 지원하지 않는 주석을 지원 (ex, @MatrixParam)
- Spring Boot 2.2.x는 SpringDoc에서만 동작
springdoc-openapi의 overview
dependency
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.5.9</version>
</dependency>
위의 dependency를 pom.xml에 추가해주면 openapi를 사용할 수 있게 됩니다.
SpringDoc의 dependencies를 보면 swagger-ui가 함께 의존성 추가된 것을 확인할 수 있습니다.
즉, 핵심 로직(swagger-ui)와 Spring에서 핵심 로직을 활용해서 더 잘 쓸 수 있게 해주는 라이브러리(springdoc-openapi)라고 생각하면 됩니다.
References
'웹 프로그래밍 > Swagger' 카테고리의 다른 글
[Swagger] OpenAPI 설정 이슈(Failed to load remote configuration / Failed to load API definition) (0) | 2022.07.25 |
---|---|
[Swagger] Swagger 2.x VS OpenAPI 3.x (0) | 2022.07.20 |
[Swagger] Failed to load API definition (0) | 2022.03.04 |