搜索
您的当前位置:首页正文

Swagger+Knife4j

来源:易榕旅网

Springboot使用Swagger应注意版本问题,否则可能会有一些兼容性问题,如常见的报错:

1、“org.springframework.context.ApplicationContextException: Failed to start bean ‘documentationPluginsBootstrapper’; nested exception is java.lang.NullPointerException”

2、“Failed to start bean ‘documentationPluginsBootstrapper’

3、“Caused by: java.lang.NullPointerException: null”

Swagger推荐版本:

①SpringBoot 2.7 以下 + Swagger-ui 和Swagger2 2.9.2

②SpringBoot 2.7 往上 + springfox-boot-starter(3.0.0包括Swagger-ui 和Swagger2 3.0.0)

Knife4j推荐版本:

如下我在SpringBoot 2.0.1环境下使用 Swagger 2.9.2 + Knife4j 2.0.2

<!--    Swagger    -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>
<!--    Knife4j    -->
<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring-boot-starter</artifactId>
    <version>2.0.2</version>
</dependency>

访问路径: http://localhost:端口号/doc.html

常用注解

@Api

用在请求的类上,表示对类的说明,也代表了这个类是swagger2的资源。

参数:

  • tags:说明该类的作用,参数是个数组,可以填多个。
  • value=“该参数没什么意义,在UI界面上不显示,所以不用配置”
  • description = “用户基本信息操作”

@ApiOperation

用于方法,表示一个http请求访问该方法的操作。

参数

  • value=“方法的用途和作用”
  • notes=“方法的注意事项和备注”
  • tags:说明该方法的作用,参数是个数组,可以填多个。
    • 格式:tags={“作用1”,“作用2”}
    • (在这里建议不使用这个参数,会使界面看上去有点乱,前两个常用)

@ApiModel

用于响应实体类上,用于说明实体作用。

参数:

  • description=“描述实体的作用”

@ApiModelProperty

用在属性上,描述实体类的属性

参数:

  • value=“用户名” 描述参数的意义
  • name=“name” 参数的变量名
  • required=true 参数是否必选

因篇幅问题不能全部显示,请点此查看更多更全内容

Top