# Swagger-ui在SpringBoot中项目的应用
> 在之前的《Swagger-ui学习笔记》文章中简单认识了swagger-ui,这次展示一在SpringBoot项目中应用。
这次在SpringBoot项目多模块中,我们将Swagger同其他工具类统一放在`service_util`模块中,以便其他模块调用。For,Example。
```java
package com.zhoujk.yygh.common.config;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* @author : zhoujiankang
* @Desc: Swagger-ui工具类
* @since : 2022/4/11 16:41
*/
@Slf4j
@Configuration
@EnableSwagger2
public class SwaggerConfig
{
@Bean
public Docket webApiConfig()
{
//log.info("Web API swagger 配置完成");
return new Docket(DocumentationType.SWAGGER_2).groupName("webApi").apiInfo(webApiInfo()).select()
//只显示api路径下的页面
.paths(PathSelectors.regex("/api/.*")).build();
}
@Bean
public Docket adminApiConfig()
{
//log.info("Admin API swagger 配置完成");
return new Docket(DocumentationType.SWAGGER_2).groupName("adminApi").apiInfo(adminApiInfo()).select()
// 只显示admin路径下的页面
.paths(PathSelectors.regex("/admin/.*")).build();
}
private ApiInfo webApiInfo()
{
return new ApiInfoBuilder().title("网站-API文档").description("本文档描述了网站微服务接口定义").version("2.0").contact(new Contact("千叶", "https://zhoujk.top", "zhou431613@163.com")).build();
}
private ApiInfo adminApiInfo()
{
return new ApiInfoBuilder().title("后台管理系统-API文档").description("本文档描述了后台管理系统微服务接口定义").version("2.0").contact(new Contact("千叶", "https://zhoujk.top", "zhou431613@163.com")).build();
}
}
```
![image-20220411212822902](https://mybolg-typora.oss-cn-beijing.aliyuncs.com/image-20220411212822902.png)
例如,在`service_hosp`模块中要是用使用到swagger-ui工具类,那么就要在`service`模块中pom.xml引入`service_util`模块依赖。
```xml
<!-- service-util模块-->
<dependency>
<groupId>com.zhoujk</groupId>
<artifactId>service_util</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
```
来看实际效果,确实在实际开发中,swagger-ui可以及时在线查看API,相比于Postman工具,快速方便,好用。
![image-20220412175711495](https://mybolg-typora.oss-cn-beijing.aliyuncs.com/image-20220412175711495.png)
Swagger-ui在SpringBoot中项目的应用