从SpringFox2.x升级到SpringFox3.0开放API
Posted
技术标签:
【中文标题】从SpringFox2.x升级到SpringFox3.0开放API【英文标题】:Upgrade from SpringFox2.x to SpringFox3.0 open API 【发布时间】:2020-12-07 00:13:03 【问题描述】:我们正在尝试将 SPringFox2.0 升级到 3.0 开放 API 规范。但是当我们使用 '' url 生成开放文档时,它显示的版本为 2.0。不知道为什么版本仍然指向旧版本。
我们正在使用 Springboot 应用程序
我按照 spring fox 文档按照以下步骤进行升级
[http://springfox.github.io/springfox/docs/current/][1]
“2.1.3. 从现有的 2.x 版本迁移”
Spring Boot 应用程序
1.删除早期版本的库包含。具体移除 springfox-swagger2 和 springfox-swagger-ui 包含。
2.去掉@EnableSwagger2注解
3.添加springfox-boot-starter
4.Springfox 3.x 删除了对 guava 和其他 3rd 方库的依赖(还不是零依赖!依赖于 spring 插件和开放的注释和模型的 api 库),所以如果你使用了 guava 谓词/函数,则需要转换to java 8 函数接口
我按照上述所有步骤操作,生成了“http://localhost:XXXX/api/v1/api-docs?group=API_Version_1”,但版本显示为 2.0 "swagger":"2.0","info": ........
我还在 SwaggerConfig 中修改:DocumentationType.SWAGGER_2 TO DocumentationType.OAS_30(没有提到文档,我猜他们错过了)
我相信仍然缺少一些东西,Spring Fox 文档仍然过时并且对 3.0 方面的覆盖面很差。
我想知道有没有人有同样的问题?
【问题讨论】:
你让它工作了吗?我们正在做同样的事情,我按照步骤操作,但也没有用。 【参考方案1】:在您的情况下尝试使用/v3/api-docs
或/api/v3/api-docs
。
【讨论】:
【参考方案2】:那没有用。 根据 Spring Fox 文档: “/v2/api-docs URL 是 SpringFox 用于文档的默认 URL。v2 不是指 API 的文档版本(可以在 Docket 配置中更改),而是使用的 Swagger 规范的版本。 。”
springfox.documentation.swagger.v2.path=/my/docs(你的路径)
【讨论】:
以上是关于从SpringFox2.x升级到SpringFox3.0开放API的主要内容,如果未能解决你的问题,请参考以下文章
Springfox swagger-ui.html无法推断基本URL - 由丢失的cookie引起
如何公开其他模型:从 Springfox 迁移到 Springdoc
从 Springfox Swagger 2 迁移到 Springdoc Open API