前言
swagger-bootstrap-ui是基于swagger接口api实现的一套UI,因swagger原生ui是上下结构的,在浏览接口时不是很清晰,所以,swagger-bootstrap-ui是基于左右菜单风格的方式,适用与我们在开发后台系统左右结构这种风格类似,方便与接口浏览。
引入
1,引入依赖
<!-- swagger-bootstrap-ui依赖于swagger2实现 -->
<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.6</version>
</dependency>
2,添加SwaggerConfig类
通过@Configuration注解,让Spring来加载该类配置。
通过@EnableSwagger2注解来启用Swagger2。
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
// 要扫描的API(Controller)基础包
.apis(RequestHandlerSelectors.basePackage("com.ion.web.controller"))
// 要扫描的API(Controller)全局
// .apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
//配置在线文档的基本信息
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("springboot利用swagger构建api文档")
.description("简单优雅的restfun风格,https://me.youkuaiyun.com/blog/miachen520")
.termsOfServiceUrl("https://me.youkuaiyun.com/blog/miachen520")
.version("1.0")
.build();
}
}
3,访问项目
默认地址为:http://ip:[端口]/doc.html,但是会出现404.
4,解决404问题
让配置类(SwaggerConfig)继承WebMvcConfigurationSupport类,重写addResourceHandlers方法,添加resource location配置。配置如下:
@Configuration
@EnableSwagger2
public class SwaggerConfig extends WebMvcConfigurationSupport {
// 重写 addResourceHandlers 方法
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
// 解决 doc.html 404 报错
registry.addResourceHandler("/doc.html")
.addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
5,重启项目
访问:http://ip:[端口]/doc.html,出现以下界面则成功
大功告成!!!