swagger2实战
一、概论
服务器提供的java服务越来越多,每个服务提供的接口的文档化和自动化可以省略很多不必要的功夫。swagger2提供了这个能力。
二、在线api
swagger2通过在各Controller控制层加注解的方式,获取对每个接口的输入输出格式和http请求格式,整理成接口,前端 swagger-ui解析该接口数据并展示,还提供了对接口的测试功能。
1) 包依赖
根据不同jdk可适当降低版本。
<!--swagger2-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.8.0</version>
</dependency>
2) swaggerConfig类配置
注册进spring,并获取springMVC的接口信息。
@EnableSwagger2
public class SwaggerConfig extends WebMvcConfigurerAdapter {
@Bean
public Docket createRestApi(){
return new Docket(DocumentationType.SWAGGER_2)
.groupName("v1")
.apiInfo(apiInfo())
.useDefaultResponseMessages(false)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.ant("/api/v1/**"))
.build()
.enableUrlTemplating(false);
}
private ApiInfo apiInfo(){
return new ApiInfoBuilder()
.title("使用Swagger2构建RESTful APIs")
.description("本人期待更多的技术碰撞!请关注:wangjian090@126.com")
.termsOfServiceUrl("wangjian090@126.com")
.contact("wangjian")
.version("1.0")
.build();
}
@Override
public voi