Spring Boot REST API:SpringDoc + OpenAPI 3 (springdoc-openapi-ui) 或 Swagger2 v3 (springfox-boot-starter)

GKi*_*lin 9 swagger spring-boot springfox springdoc-openapi-ui

有两种方法可以将 OpenAPI 3 添加到 Spring Boot 项目。

\n\n

https://www.dariawan.com/tutorials/spring/documenting-spring-boot-rest-api-springdoc-openapi-3/

\n\n

https://medium.com/@hala3k/setting-up-swagger-3-with-spring-boot-2-a7c1c3151545

\n

还有配置和注释的迁移问题

\n

问题是:对于 Spring Boot 项目,有什么理由在它们之间做出选择吗?

\n

更新:迁移到 OpenAPI 3。不太难:)也许会有帮助:

\n

OpenApiConfig ,\n pom.xml ,\n \xd0\x9e\xd0\xbf\xd0\xb8\xd1\x81\xd0\xb0\xd0\xbd\xd0\xb8\xd0\xb5

\n

Deb*_*Roy 7

在这种情况下,选择 Springdoc 而不是 Springfox 有一个明显的原因。原因是,springdoc-openapi-ui它是一个独立的库,同时springfox-boot-starter以传递方式引入 Spring 依赖项。了解了 POM 的外观后,Springfox 为许多 Spring 项目提供了包装器。另外,对于 Swagger UI,您需要 Springfox 的额外依赖项。

因此,使用 Springdoc 可以让您更好地控制 Swagger 集成,这是可选的,以防您想要使用 Spring REST Docs 这样的静态文档框架

就提到的迁移指南而言,它是用于将 Springfox 2.x 项目迁移到 Springdoc 的。Springdoc 支持 OpenAPI 3.x 而不是 2.x,而 Springfox 支持这两个版本的规范。

  • 我猜你被“Springdoc 让你更好地控制 Swagger 集成(这是可选的)”这句话误导了。意思是说,如果你想要 Swagger 与 Spring 一起使用,你可以添加 Springdoc。如果您不需要 Swagger,您可以继续单独使用 Spring。与 Springfox 不同,Springfox 中的每个 Spring 依赖项都是传递性存在的。另外,您可以使用 Springdoc 生成 OpenAPI 规范文件,并直接使用该文件进行自定义文档,即不使用 Swagger,而是使用 Springdoc。 (3认同)