SpringBoot:Swagger界面优化以及简单使用

328 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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)