前面学习了两种 springboot 里面使用 swagger 的方法,一种原生的,一种大佬封装好的带 vue样式的,最近又学习到一种带 bootstrap 样式的,觉得还不错,这里分享出来
基于Swagger开发的Swagger-Bootstrap-UI
目录结构
上代码
一、引入 swagger-bootstrap-ui 的依赖
<!-- springboot web 相关依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--swagger-api 依赖开始
由于是springfox-swagger的增强UI包,所以基础功能依然依赖Swagger,springfox-swagger的jar包必须引入
-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.9.2</version>
</dependency>
二、编写 swagger 的配置文件
@Configuration
@EnableSwagger2
@EnableSwaggerBootstrapUI 可以使用EnableSwaggerBootstrapUI 的一些增强功能
public class SwaggerConfig {
//分模块建立不同分组文档
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.groupName("基础模块")
.select()
.apis(RequestHandlerSelectors.basePackage("com.wxw.springboot_swagger_bootstrapui.controller"))
.paths(PathSelectors.any())
.build();
}
@Bean
public Docket createMonitorRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.groupName("登录模块")
.select()
.apis(RequestHandlerSelectors.basePackage("com.wxw.springboot_swagger_bootstrapui.loginController"))
.paths(PathSelectors.any())
.build();
}
@Bean
public Docket createActivitiRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.groupName("测试模块")
.select()
.apis(RequestHandlerSelectors.basePackage("com.wxw.springboot_swagger_bootstrapui.testController"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("后台接口文档")
.description("后台接口文档描述")
.termsOfServiceUrl("http://www.wxw.com/")
.contact("wxw")
.version("1.0")
.build();
}
三、controller 中加入相关使用注解
@RestController
@RequestMapping("/test")
@Api(tags = "测试", description = "测试描述", value = "测试")
public class TestController {
@GetMapping
@ApiOperation(value = "测试", notes = "测试")
public String test() {
return "hello,swagger";
}
}
四、访问文档页面
swagger-bootstrap-ui默认访问地址是:http:// h o s t : {host}: host:{port}/doc.html
这样文档就出来了,文档中的功能就可以自己慢慢研究了
五、配置安全相关功能
1、比如说生产环境我们不需要开启文档
yml 文件中加入下面内容
# 如果需要屏蔽 swagger 资源
swagger:
production: true
再次访问浏览器文档地址,会输出这样的内容
2、配置用户名密码才能访问文档
swagger:
basic:
# 开启 认证功能
enable: true
# 如果未配置用户名密码默认:admin/123321
## Basic认证用户名
username: wxw
## Basic认证密码
password: 123
关注公众号查看更多资源