简述
简单的来说,Swagger2的诞生就是为了解决前后端开发人员进行交流的时候API文档难以维护的痛点,它可以和我们的Java程序完美的结合在一起,并且可以与我们的Spring Boot来配合使用。
环境搭建
- 导入POM文件
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>XXX</version>
</dependency>
- 添加配置类
@Configuration
public class Swagger2Config {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.yeamin.controller"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("swagger2-接口文档")
.description("XXX-接口文档")
.termsOfServiceUrl("XXX") //这里配置的是服务网站
.version("1.0") //版本
.build();
}
}
- 在启动类添加配置
@SpringBootApplication
@MapperScan(value = "com.yeamin.mapper")
@EnableSwagger2
public class ViBootSwaggerApplication {
public static void main(String[] args) {
SpringApplication.run(ViBootSwaggerApplication.class, args);
}
}
- 通过注解完成文档
@Api
@ApiOperation
@ApiParam
@ApiModel && @ApiModelProperty
@ApiImplicitParam && @ApiImplicitParams
@ApiImplicitParam可以单个用于方法之上,多个参数的话可以把@ApiImplicitParam放到@ApiImplicitParams中,这里只罗列@ApiImplicitParam的属性:
@ApiResposne && @ApiResponses