springboot集成swagger
先把一个测试项目整出来
- 先随便创建一个SpringBoot项目(带jar包springboot-web,war包项目),这里我使用idea创建
- 到maven上找到swagger的jar包
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>3.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>3.0.0</version>
</dependency>
<!--注意:3.0版本swagger依赖需要-->
<dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version>
</dependency>
- 随便创建一个/test/hello,无参的简易API接口
package com.kedaotest.gitstudy.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** 测试swagger的控制器层*/
@RequestMapping("/test")
@RestController
public class HelloController {@RequestMapping("/hello")public String hello(){return "hello";}
}
- 项目跑起来本地测一下
- 导入swagger的相关依赖
- 配置swagger的config配置
package com.kedaotest.gitstudy.config;import org.springframework.context.annotation.Configuration;
import springfox.documentation.swagger2.annotations.EnableSwagger2;@Configuration
@EnableSwagger2 //开启swagger2
public class SwaggerConfig {
}
- 重启项目访问API, http://localhost:8080/swagger-ui.html,如果注入的swagger依赖版本是3.0.0版本的,访问, http://localhost:8080/swagger-ui/index.html
正式配置Swagger
-
给Swagger添加Docket配置
重启项目(不想多次重启的可以配置热部署)测试一下
-
配置扫描接口
-
配置是否启用swagger
-
eg:swagger只能在生产环境下使用,在发布环境下不能使用
- 判断是否是生产环境flag = false(默认flag = true)
- 使enable(flag)
激活一个开发环境(端口号设置8081)
创建一个测试环境并设置端口号8082
测试代码// 设置要显示的Swagger环境 Profiles profiles = Profiles.of("dev","test");// 获取项目的环境,acceptsProfiles监听自己环境是否被设置 Boolean flag = environment.acceptsProfiles(profiles);
-
配置API文档分组
随便创建其他几个API文档(Docket)
-
swagger测试接口
随便创建一个实体类和接口
重启项目,进行测试
点击Execute执行按钮
Swagger总结
- 可以随时更新Swagger文档
- 可以测试后台接口(等同于postman)
- 启动较慢
- 注:正式上线,必须关掉Swagger