swagger搭建
这个工程里边有一个可视化接口的工具
swagger-ui.html
写完要配置swagger(为了可视化工具swagger-ui.html里边能看到他)
Swagger是什么?
官方说法:Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。
1.pom.xml
(1)properties里边写swagger版本
<properties>
<java.version>1.8</java.version>
<lombok.version>1.16.4</lombok.version>
<poi.version>3.16</poi.version>
<swagger.version>2.6.1</swagger.version>
</properties>
(2)dependencies里边加两个依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.version}</version>
</dependency>
2.建立配置文件
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.context.request.async.DeferredResult;
import springfox.documentation.builders.ApiInfoBuilder;
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;
import static com.google.common.base.Predicates.or;
import static springfox.documentation.builders.PathSelectors.regex;
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket squareDocket() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("test")
.genericModelSubstitutes(DeferredResult.class)
.useDefaultResponseMessages(false)
.forCodeGeneration(false)
.pathMapping("/")
.select()
.paths(or(regex("/rule/.*")))
.build()
.apiInfo(apiInfo("应用广场"));
}
private ApiInfo apiInfo(String description) {
return new ApiInfoBuilder()
.title("SMAS 4.0 API")
.description(String.format("网察项目%s接口.", description))
.version("1.0")
.termsOfServiceUrl("http://www.trs.com.cn/")
.contact(new Contact("大数据事业部产品开发组", "http://dc.trs.org.cn/wiki/pages/viewpage.action?pageId=31464281", "chang.xiaoyang@trs.com.cn"))
.license("北京拓尔思信息技术股份有限公司").licenseUrl("http://www.trs.com.cn/")
.build();
}
}