文章 33
评论 3
浏览 49177
SpringBoot 整合Swagger 3.0.0

SpringBoot 整合Swagger 3.0.0

关键词:
Swagger 3.0.0
SpringBoot

1、简介

Swagger UI 是一款 API 在线文档生成和调试工具。在需求不断变更的开发环境下,手动编写文档的效率实在太低;
项目地址:https://github.com/springfox/springfox

在Swagger3版本中,减少了谷歌的guava依赖,更多的应用了java8的语法;新增了springboot流行的start启动包形式依赖;
Swagger 3.0有何改动?官方文档总结如下几点:

  1. 删除了对springfox-swagger2的依赖
  2. 删除所有@EnableSwagger2...注解
  3. 添加了springfox-boot-starter依赖项
  4. 移除了guava等第三方依赖
  5. 文档访问地址改变了,改成了http://ip:port/project/swagger-ui/index.html
<!-- For Maven -->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-validation</artifactId>
	<version>3.0.0</version>
</dependency>

<!--  For Gradle  -->
  implementation "io.springfox:springfox-boot-starter:<version>"

主要配置属性如下:主要说一些常用的配置

@Api(tags = "测试接口"):用在请求的controller类上,表示对类的说明,tags=“说明该类的作用,可以在UI界面上看到的注解”

@ApiOperation("测试"):用在请求的方法上;value=方法的用途;notes=“方法的备注”

@ApiResponses:用在请求的方法上,表示一组响应;

@ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息
code:请求的状态码,例如 200、401、403 ……
message:信息,例如"请求参数没填好"

@ApiImplicitParams:用在请求的方法上,表示一组参数说明;

@ApiImplicitParam:用在方法上,表示一个请求参数描述;多在参与,用在@ApiImplicitParams中;

2. 配置篇

编写配置类:

应用主类增加注解@EnableOpenApi

@EnableOpenApi
@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

}

3. 使用篇

启动项目,使用 http://localhost:端口/swagger-ui/index.html 访问

4. 跳坑篇

4.1 NoClassDefFoundError NotBlank

java.lang.NoClassDefFoundError: javax/validation/constraints/NotBlank

没有自动引入 validation对应的包

解决方案: 引入 validation 包

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-validation</artifactId>
 </dependency>

参考资料:

https://zhuanlan.zhihu.com/p/275708279?utm_source=wechat_session


标题:SpringBoot 整合Swagger 3.0.0
作者:T-Aoker
地址:https://aoaos.top/articles/2021/01/28/1611821533791.html

修仙猿之旅

取消