它是一个功能强大的api框架,它的集成非常简单,不仅提供了在线文档的查阅,而且还提供了在线文档的测试
1、加入maven依赖
<dependency>
<groupId>com.spring4all</groupId>
<artifactId>spring-boot-starter-swagger</artifactId>
<version>1.5.0.RELEASE</version>
</dependency>
2、写配置类,在主程序上加入注解
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@EnableSwagger2
@SpringBootApplication
public class Demo1Application {
public static void main(String[] args) {
SpringApplication.run(Demo1Application.class, args);
}
}
3、controller接口层restful风格
swagger通过注解表明该接口会生成文档,包括接口名、请求方法、参数、返回信息的等等。
@Api:修饰整个类,描述Controller的作用
@ApiOperation:描述一个类的一个方法,或者说一个接口
@ApiParam:单个参数描述
@ApiModel:用对象来接收参数
@ApiProperty:用对象接收参数时,描述对象的一个字段
@ApiResponse:HTTP响应其中1个描述
@ApiResponses:HTTP响应整体描述
@ApiIgnore:使用该注解忽略这个API
@ApiError :发生错误返回的信息
@ApiParamImplicitL:一个请求参数
@ApiParamsImplicit 多个请求参数
/**
*
* @desc @Api:修饰整个类,描述Controller的作用
@ApiOperation:描述一个类的一个方法,或者说一个接口
@ApiParam:单个参数描述
@ApiModel:用对象来接收参数
@ApiProperty:用对象接收参数时,描述对象的一个字段
@ApiResponse:HTTP响应其中1个描述
@ApiResponses:HTTP响应整体描述
@ApiIgnore:使用该注解忽略这个API
@ApiError :发生错误返回的信息
@ApiParamImplicitL:一个请求参数
@ApiParamsImplicit 多个请求参数
* @author zhjx-研发部-luobw
*
* @param code
* @param layer
* @param type
* @param cond
* @param response
* @return
* 2019年3月18日
*/
@ApiOperation("测试swagger")
@ApiImplicitParams({
@ApiImplicitParam(name="code",value = "自定义code"),
@ApiImplicitParam(name="layer",value = "区域层级"),
@ApiImplicitParam(name="codes",value = "网格码"),
@ApiImplicitParam(name="type",value = "请求类型,years按年统计,months按月统计,为空全部统计",dataType="String",paramType = "path",required = false)
})
@RequestMapping(value = "/sendRedirect", method = RequestMethod.GET)
public String sendRedirect(String code,String layer,String type,RedirectCallBackRequest cond,HttpServletResponse response) {
log.info("--------------测试---------");
try {
response.sendRedirect(REDIRECT_URI);
} catch (IOException e) {
e.printStackTrace();
}
log.info("---------结束--------------");
return null;
}
4、启动工程,本地在线查看api文档
访问:http://localhost:8000/swagger-ui.html ,(我在yml配置的端口是8000)就看到swagger-ui
本地请求编写的返回是错误的,为了演示请求接口的规范,切勿被误导