今天试了一下传说中的Swagger,与springboot整合了一下非常简单。
添加maven插件,当然也有可能有springboot的swagger插件,其实也就是包含这两个。
<!-- springfox swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger2.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger2.version}</version>
</dependency>
然后@EnableSwagger2一下,实例化一个Docket的@Bean对象,OJBK了。
/**
* Swagger配置
*/
@EnableSwagger2
@Configuration
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.pss.controller"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("接口文档")
.description("使用restful风格")
.version("1.0")
.build();
}
}
接下来和我预期的一样访问一个地址就可以看到全部的发布接口,可以进行测试。
所有注解都一个目的,让方法、字段、接口都加上注释,让调用接口的人可以独立完成接口调用。
@Api:注解 配合 @Controller层使用。
@ApiOperation:配合 接口方法使用,设置接口名。
@ApiImplicitParams:配合 接口方法使用,设置接口传入参数PATH,QUERY等。
@ApiIgnore:不想暴露接口使用。
@ApiResponse:400等异常可以使用。
@ApiModel:设置在VO对象中,如果方法返回值是VO对象,则会在最下面生成Models。VO对象中的属性设置@ApiModelProperties可以设置字段。