Swagger 3是一种开源的API描述工具,它可以帮助开发人员设计、构建、文档化和测试API。Swagger 3支持多种编程语言和框架,包括Java、Node.js、Python、Ruby等,并提供了许多集成工具和插件,例如Postman、Apigee等。 Swagger 3使用OpenAPI规范来描述API,这是一种通用的API描述语言,适用于各种编程语言和框架。OpenAPI规范定义了API的基本结构、请求和响应的参数、头部信息、路径、HTTP方法和安全方案等。通过使用Swagger 3,开发人员可以从API文档中快速了解API的特点和功能,有效简化了API的构建维护。 在使用Swagger 3时,您需要在项目中添加Swagger 3依赖项,并配置好Swagger 3配置文件。然后您可以使用注释标记您的API端点以及请求和响应类和字段等,Swagger 3会根据这些注释生成API文档并提供UI界面进行浏览和测试等操作。
引入依赖
注:不需要额外依赖,只需要下面一个就能完成
io.springfox
springfox-boot-starter
3.0.0
配置文件
spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher
swagger配置类
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import java.util.ArrayList;
/**
* swagger配置
*/
@Configuration
public class SwaggerConfig {
Boolean swaggerEnabled = true;
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.OAS_30)
.apiInfo(apiInfo())
// 是否开启
.enable(swaggerEnabled)//true
.select()
.apis(RequestHandlerSelectors.basePackage("com.***.***")//配置扫描的路径
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("****接口文档")
.contact(new Contact("clc", "http://www.baidu.com", "clc@x.com"))
.version("1.0")
.description("基本的一些接口说明")
.license("Apache 2.0 许可") // 许可
.licenseUrl("https://www.apache.org/licenses/LICENSE-2.0") // 许可链接
.extensions(new ArrayList()) // 拓展
.build();
}
}
常用注解
Swagger3 常用注解 | 使用位置 |
@Api | 在 Java 类上添加该注解。 |
@ApiOperation | 在 Java 类的方法上添加该注解。 |
@ApiParam | 在 Java 类的方法参数上添加该注解。 |
@ApiResponses | 在 Java 类的方法上添加该注解。 |
@ApiSecurity | 在 Java 类的方法上添加该注解。 |
@ApiModel | 在 Java 类的方法参数或返回值上添加该注解。 |
@ApiImplicitParams | 在 Java 类的方法参数上添加该注解。 |
@ApiHeader | 在 Java 类的方法参数或返回值上添加该注解。 |
@ApiFormData | 在 Java 类的方法参数或返回值上添加该注解。 |
@ApiUseDefaultValues | 在 Java 类的方法参数上添加该注解。 |
请求地址:http://localhost:端口/swagger-ui/index.html