千家信息网

Swagger3.0有哪些新特性

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要讲解了"Swagger3.0有哪些新特性",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Swagger3.0有哪些新特性"吧!支持 Open
千家信息网最后更新 2026年11月03日Swagger3.0有哪些新特性

这篇文章主要讲解了"Swagger3.0有哪些新特性",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Swagger3.0有哪些新特性"吧!

支持 OpenAPI

什么是 OpenAPI?

OpenAPI 规范其实就是以前的 Swagger 规范,它是一种 REST API 的描述格式,通过既定的规范来描述文档接口,它是业界真正的 API 文档标准,可以通过 YAML 或者 JSON 来描述。它包括如下内容:

  • 接口(/users)和每个接口的操作(GET /users,POST /users)

  • 输入参数和响应内容

  • 认证方法

  • 一些必要的联系信息、license 等。

关于 OpenAPI 的更多内容,感兴趣的小伙伴可以在 GitHub 上查看:https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md

依赖

以前在使用 2.9.2 这个版本的时候,一般来说我们可能需要添加如下两个依赖:

     io.springfox     springfox-swagger2     2.9.2       io.springfox     springfox-swagger-ui     2.9.2 

这两个,一个用来生成接口文档(JSON 数据),另一个用来展示将 JSON 可视化。

在 3.0 版本中,我们不需要这么麻烦了,一个 starter 就可以搞定:

     io.springfox     springfox-boot-starter     3.0.0 

和 Spring Boot 中的其他 starter 一样,springfox-boot-starter 依赖可以实现零配置以及自动配置支持。也就是说,如果你没有其他特殊需求,加一个这个依赖就行了,接口文档就自动生成了。

接口地址

3.0 中的接口地址也和之前有所不同,以前在 2.9.2 中我们主要访问两个地址:

  • 文档接口地址:http://localhost:8080/v2/api-docs

  • 文档页面地址:http://localhost:8080/swagger-ui.html

现在在 3.0 中,这两个地址也发生了变化:

  • 文档接口地址:http://localhost:8080/v3/api-docs

  • 文档页面地址:http://localhost:8080/swagger-ui/index.html

特别是文档页面地址,如果用了 3.0,而去访问之前的页面,会报 404。

注解旧的注解还可以继续使用,不过在 3.0 中还提供了一些其他注解。

例如我们可以使用 @EnableOpenApi 代替以前旧版本中的 @EnableSwagger2。

话是这么说,不过松哥在实际体验中,感觉 @EnableOpenApi 注解的功能不明显,加不加都行。翻了下源码,@EnableOpenApi 注解主要功能是为了导入 OpenApiDocumentationConfiguration 配置类,如下:

@Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME) @Target(value = {java.lang.annotation.ElementType.TYPE}) @Documented @Import(OpenApiDocumentationConfiguration.class) public @interface EnableOpenApi { }

然后我又看了下自动化配置类 OpenApiAutoConfiguration,如下:

@Configuration @EnableConfigurationProperties(SpringfoxConfigurationProperties.class) @ConditionalOnProperty(value = "springfox.documentation.enabled", havingValue = "true", matchIfMissing = true) @Import({     OpenApiDocumentationConfiguration.class,     SpringDataRestConfiguration.class,     BeanValidatorPluginsConfiguration.class,     Swagger2DocumentationConfiguration.class,     SwaggerUiWebFluxConfiguration.class,     SwaggerUiWebMvcConfiguration.class }) @AutoConfigureAfter({ WebMvcAutoConfiguration.class, JacksonAutoConfiguration.class,     HttpMessageConvertersAutoConfiguration.class, RepositoryRestMvcAutoConfiguration.class }) public class OpenApiAutoConfiguration {  }

可以看到,自动化配置类里边也导入了 OpenApiDocumentationConfiguration。

所以在正常情况下,实际上不需要添加 @EnableOpenApi 注解。

根据 OpenApiAutoConfiguration 上的 @ConditionalOnProperty 条件注解中的定义,我们发现,如果在 application.properties 中设置 springfox.documentation.enabled=false,即关闭了 swagger 功能,此时自动化配置类就不执行了,这个时候可以通过 @EnableOpenApi 注解导入 OpenApiDocumentationConfiguration 配置类。技术上来说逻辑是这样,不过应用中暂未发现这样的需求(即在 application.properties 中关闭 swagger,再通过 @EnableOpenApi 注解开启)。

感谢各位的阅读,以上就是"Swagger3.0有哪些新特性"的内容了,经过本文的学习后,相信大家对Swagger3.0有哪些新特性这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

地址 接口 文档 注解 配置 内容 特性 两个 页面 功能 版本 学习 自动化 可以通过 实际 就是 情况 时候 更多 需求 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司经营范围 河南云网互联网络科技有限公司 互联网科技活动banner 互联网 科技创新 鑫亿盛互联网科技 深圳期待互联网科技 重庆科技学院互联网 科技大学互联网专业好不好 汉立互联网科技有限公司联系电话 上海宁丞科技互联网 智腾互联网科技有限公司 西安小鹰速贷互联网科技有限公司 洛阳共同富裕互联网科技有限公司 深圳市罗太互联网科技有限公司 烟台灵鸽互联网科技有限公司 高科技互联网套路 产业互联网科技服务公司 风投北京互联网科技 互联网科技新闻 互联网科技自媒体灵感 互联网科技卖菜 四川狮子座互联网科技 滨湖区互联网智能科技产品供应 恒生科技互联网指数分析 互联网教育科技公司vipkid 剑昆互联网络科技有限公司临桂 电子科技大学互联网创业大赛 科技互联网的核心竞争力 河南商务圈互联网科技有限公司 互联网科技创新方面的资料
0