最近使用swagger注解编写开发文档,确实比较好用
①先引入pom文件依赖
<!-- swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
②再编写配置类
@Configuration
@EnableSwagger2
public class Swagger2 {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.4399.controller"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("swagger标题")
.description("swagger描述")
.termsOfServiceUrl("")
.contact("这里放创作者名字")
.version("1.0")
.build();
}
}
配置类与启动类放在同一级目录
通过@Configuration注解,让Spring来加载该类配置。再通过@EnableSwagger2注解来启用Swagger2。
createRestApi函数创建Docket的Bean之后,apiInfo()用来创建该Api的基本信息(这些基本信息会展现在文档页面中)。select()函数返回一个ApiSelectorBuilder实例用来控制哪些接口暴露给Swagger来展现,本例采用指定扫描的包路径来定义,Swagger会扫描该包下所有Controller定义的API,并产生文档内容(除了被@ApiIgnore指定的请求)
③在controller中增加注解接口
@Api(ddescription = “这里是swagger中对controller的描述”)----------注解到@RestController上
@ApiOperating(value = “接口功能”,notes = “详细备注”)-----------注解在方法上
@ApiImplicitParams({ @ApiImplicitParam(name= “请求参数名”,value = “解释”,require = true,dateType = “int”})----------请求参数详情,dateType为参数类型-------------注解在方法上,此方法注解的为多个请求参数且请求参数为基础类型,javabean使用其他方法注解
@ApiParam(value = “请求参数解释及备注”)--------注解在请求参数前,例如注解在@RequestBody前