千家信息网

SpringBoot整合Swagger2的示例分析

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,小编给大家分享一下SpringBoot整合Swagger2的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言sp
千家信息网最后更新 2026年11月03日SpringBoot整合Swagger2的示例分析

小编给大家分享一下SpringBoot整合Swagger2的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

前言

springBoot作为微服务首选框架,为其他服务提供大量的接口服务。接口对接方需要实时最近的接口文档。

swagger可以通过代码和注释自动为web项目生成在线文档,这里使用swagger。

当 SpringBoot 代码中 SpringMVC 使用自动化配置类 WebMvcAutoConfiguration 时,其整合 Swagger2 的方法如下。

如果 SpringMVC 的配置过程使用了 WebMvcConfigurationSupport;则如下的整合方法不适合。

一、Spring Boot Web 整合 Swagger2 过程

Spring Boot Web 项目整合 Swagger2 主要有两个过程:

  1. 添加 Swagger2 相关依赖。

  2. 配置 Swagger2 配置类。

1.1、添加 Swagger2 相关依赖

首先要对 Spring Boot Web 的项目,添加 Swagger2 相关的依赖:

      org.springframework.boot      spring-boot-starter-web              io.springfox      springfox-swagger2      2.9.2              io.springfox      springfox-swagger-ui      2.9.2    

1.2、配置 Swagger2 配置类

@Configuration@EnableSwagger2public class Swagger {   //创建 Docket 的Bean   @Bean   public Docket docket(){       return new Docket(DocumentationType.SWAGGER_2)         .apiInfo(apiInfo())         //select() 函数返回一个 ApiSelectorBuilder实例用来控制哪些接口暴露给 Swagger 来展现         .select()         //要扫描的包         .apis(RequestHandlerSelectors.basePackage("com.example.controller"))  //选择API路径         .paths(PathSelectors.any())         .build();   }  //创建文档的基本信息   public ApiInfo apiInfo(){       return new ApiInfoBuilder()         .title("Swagger UI 的标题")         .description("用restful风格写接口")         .termsOfServiceUrl("")         .version("1.0")         .build();   }}

二、配置 Swagger2 接口常用注解

2.1、@Api 请求类说明

写在controller类定义上方,用于说明类的作用。

@Api(value = "Swagger Test Control",      description = "演示Swagger用法的Control类",      tags = "Swagger Test Control Tag")

2.2、@ApiOperation 方法的说明

写在REST接口上方,用于说明方法的作用。

@ApiOperation(value="创建用户", notes="根据User对象创建用户")

2.3、@ApiImplicitParams 和 @ApiImplicitParam 方法参数说明

@ApiImplicitParams:用在请求的方法上,包含一组参数说明    @ApiImplicitParam:对单个参数的说明              name:参数名        value:参数的汉字说明、解释        required:参数是否必须传        paramType:参数放在哪个地方            · header --> 请求参数的获取:@RequestHeader            · query --> 请求参数的获取:@RequestParam            · path(用于restful接口)--> 请求参数的获取:@PathVariable            · body(请求体)-->  @RequestBody User user            · form(普通表单提交)             dataType:参数类型,默认String,其它值dataType="int"               defaultValue:参数的默认值--------------------------------------------------------------------@ApiImplicitParams({    @ApiImplicitParam(name = "id", value = "ID", dataType = "Long"),    @ApiImplicitParam(name = "user", value = "用户", dataType = "User")})

2.4、@ApiResponses 和 @ApiResponse 方法返回值的说明

@ApiResponses:方法返回对象的说明    @ApiResponse:每个参数的说明        code:数字,例如400        message:信息,例如"请求参数没填好"        response:抛出异常的类-------------------------------------------------------------------@ApiResponses({    @ApiResponse(code = 400, message = "权限不足"),    @ApiResponse(code = 500, message = "服务器内部异常") })

2.5、@ApiModel 和 @ApiModelProperty

@ApiModel 用于JavaBean 上面,表示一个JavaBean。这种一般用在post创建的时候,使用 @RequestBody 这样的场景,请求参数无法使用 @ApiImplicitParam 注解进行描述的时候。

@ApiModelProperty 用对象接收参数时,描述对象的一个字段。

@ApiModel( description = "学生")public class Student {    @ApiModelProperty(value = "主键id")    private String id;    @ApiModelProperty(value = "名称", required = true)    private String name;    @ApiModelProperty(value = "年龄", required = true)    private int age;}

2.6、其他注解

@ApiIgnore :使用该注解忽略这个API,不对这个接口生成文档。

@ApiError:发生错误返回的信息

以上是"SpringBoot整合Swagger2的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

参数 接口 方法 配置 整合 对象 文档 注解 服务 信息 用户 篇文章 过程 项目 示例 分析 代码 作用 内容 时候 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡网 精品咖啡豆 云信互联网科技有限公司 科技互联网龙头 疫情对互联网科技公司影响 深圳互联网科技公司 互联网科技的发展 新浪科技互联网 互联网金融科技委员会 互联网科技素材视频竖屏 科技大学互联网专业好不好 中化能源互联网科技招聘 新兴科技互联网创新大赛颁奖典礼 互联网科技和法律行业 为客找房互联网科技公司怎么样 广州千川互联网科技有限公司 昆明中奇联合互联网科技 科技信息时代互联网发展 美国五大互联网科技公司市值多少 杭州科技互联网公司有哪些 湖北九亚互联网络科技有限公司 中关村互联网科技集团 互联网科技素材视频竖屏 安控科技rtu产品工业互联网 武汉健翔互联网络科技有限公司 米泉互联网科技专业怎么样 广西泛欧互联网科技有限公司 山东蛋芒互联网科技有限公司 现代科技的标志之一的互联网 互联网 科技节活动 微视频大赛
0