持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第3天,点击查看活动详情
上文中(SpringBoot:使用Swagger搭建接口文档),已经实现了在SpringBoot中使用Swagger,同时也对接口进行了测试。接下来我们会对Swagger的界面做一些优化,同时也会解决相应的兼容性问题。
对现有的界面做修改
我觉得现有的Swagger界面并不是非常的好看,这时候我们可以对界面做出一些改变。
引入配置
首先我们还是要引入相应的依赖,到pom.xml配置文件中。
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.6</version>
</dependency>
访问新路径
这时候我们就可以通过访问新的路径,去获取新的Swagger界面了,界面要比原生的整洁很多。 访问地址:http://localhost:8088/doc.html 当然地址和端口要换成你自己的。
解决springBoot2.6与swagger2的不兼容问题
由于springBoot2.6以后的版本与swagger2的不兼容问题,在运行项目的时候会出现报错的情况,在yml配置文件中需要添加以下配置,就可以解决相应的问题。
spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher
一些简单的使用情况
@ApiIgnore:可以写在类上,也可以写在方法上
忽略掉一些不需要显示的接口。
@Api():在接口类上使用的
用于显示这个类总体的作用,在swagger界面中对应的大分类的标题与说明。
示例:@Api(value = "注册登录", tags = {"用于注册登录的相关接口"})
@ApiOperation():在接口方法上使用
用于显示具体接口的作用,在swagger界面中对应每个接口的说明作用。
示例:@ApiOperation(value = "用户名是否存在", notes = "用户名是否存在", httpMethod = "GET")
@ApiModel():在实体类上使用
用于显示返回对象的描述。
示例:@ApiModel(value = "用户对象BO", description = "从客户端,由用户传入的数据封装在此entity中")
@ApiModelProperty():在实体类的每个属性上使用
用于显示返回对象每个属性的信息。
示例:@ApiModelProperty(value = "用户名", name = "username", example = "username",required = true)