1. Swagger概述
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。
作用:
1. 接口的文档在线自动生成,方便管理项目中API接口。
2. 方便前后端联合开发,以及三方调用。
3. 方便接口测试。
以下是我们项目中swagger+springmvc的配置使用步骤,文中示例代码仅供使用参考,不能直接运行。
2. swagger + springmvc配置使用步骤
一、在pom.xml中引入maven依赖。
<!-- springfox start -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>3.3.6</version>
</dependency>
<!-- springfox end -->
二、添加自定义SwaggerConfig.java类文件,文件内容如下:
/**
* Created by davidpeng on 16/5/13.
*/
@Configuration
@EnableSwagger2
@EnableWebMvc
public class SwaggerConfig {
@Bean
public Docket userAPI() {
ApiInfo apiInfo = new ApiInfo(
"接口文档",
"XX项目的接口文档,此文档包含user级别的所有接口说明。",
"",
"",
new Contact("davidpeng", "", "1551XXXX@qq.com"),
"",
""
);
Set<String> setProtocol = new HashSet<String>();
setProtocol.add("http");
Set<String> setProduce = new HashSet<String>();
setProduce.add("application/json");
Set<String> setConsume = new HashSet<String>();
setConsume.add("x-www-form-urlencoded");
List<Parameter> listParameter = new ArrayList<Parameter>();
listParameter.add(
new ParameterBuilder()
.name("X-Toon-User-ID")
.description("User ID")
.parameterType("header")
.required(true)
.modelRef(new ModelRef("string"))
.build()
);
listParameter.add(
new ParameterBuilder()
.name("X-Toon-User-Token")
.description("User Token")
.parameterType("header")
.required(true)
.modelRef(new ModelRef("string"))
.build()
);
listParameter.add(
new ParameterBuilder()
.name("X-Toon-User-Agent")
.description("User Agent")
.parameterType("header")
.required(true)
.modelRef(new ModelRef("string"