个人网站模板html代码免费,做网站需要花多少钱,互动科技网站建设,个人网站做商城会怎样一. swagger3介绍
Swagger 3 是基于 OpenAPI 规范 3.0 的 API 文档工具#xff0c;用于设计、构建和消费 RESTful API。它通过标准化描述 API 的接口、参数、响应等元数据#xff0c;实现以下核心功能#xff1a;
自动生成交互式文档API 测试与调试代码生成#xff08;客…一. swagger3介绍
Swagger 3 是基于 OpenAPI 规范 3.0 的 API 文档工具用于设计、构建和消费 RESTful API。它通过标准化描述 API 的接口、参数、响应等元数据实现以下核心功能
自动生成交互式文档API 测试与调试代码生成客户端/服务端多语言支持
二. Swagger3 vs Swagger 2.0
以下表格总结了Swagger 2.0和OpenAPI 3.0Swagger 3.0的主要差异
特性Swagger 2.0OpenAPI 3.0规范名称SwaggerOpenAPI文件扩展名.json 或 .yaml.json 或 .yamlAPI 描述结构基于资源路径和操作支持更灵活的组件复用服务器定义仅支持单一服务器 URL支持多服务器配置包括环境变量请求参数类型仅支持 query、header、path、formData、body新增 cookie 参数类型更细粒度的参数控制请求体支持仅支持单一请求体支持多请求体类型如 multipart响应定义仅支持全局响应模型支持操作级响应模型更灵活安全方案支持 basic、apiKey、oauth2新增 openIdConnect支持 JWT外部文档链接不支持支持 externalDocs 引用外部文档回调功能不支持支持 WebHook 和异步操作的回调定义兼容性广泛兼容旧工具需要较新的工具链支持
OpenAPI 3.0 在以下方面进行了优化
组件复用通过 components 模块复用模型、参数、响应等减少冗余代码。多服务器配置允许定义多个服务器环境如开发、测试、生产便于动态切换。更丰富的参数类型新增 cookie 参数支持适配现代 API 需求。异步支持通过 callbacks 定义事件驱动的 API 行为。
三. 添加依赖 // Swagger3dependencygroupIdorg.springdoc/groupIdartifactIdspringdoc-openapi-starter-webmvc-ui/artifactIdversion2.1.0/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-validation/artifactId/dependency// Swagger2dependencygroupIdio.springfox/groupIdartifactIdspringfox-swagger2/artifactIdversion2.9.2/version/dependency!-- Swagger UI 依赖可选用于可视化界面 --dependencygroupIdio.springfox/groupIdartifactIdspringfox-swagger-ui/artifactIdversion2.9.2/version/dependency
四. 配置Swagger3
Configuration
public class SwaggerConfig {Beanpublic OpenAPI customOpenAPI() {return new OpenAPI().info(new Info() // 创建文档信息对象.title(API 文档) // 设置文档标题.version(1.0.0) // 设置API版本号.description(项目接口文档) // 添加详细描述.contact(new Contact() // 设置联系人信息.name(还没秃顶的兔子) // 联系人姓名
// .url(https://example.com) // 联系人网址.email(emailexample.com)) // 联系人邮箱.license(new License() // 设置许可证信息.name(Apache 2.0) // 许可证名称.url(https://springdoc.org))); // 许可证详情URL}}五. 接口定义
RestController
RequestMapping(/api)
Tag(name 学校管理, description 学校管理接口)
public class SchoolsController {Operation(summary 添加学校, description 创建新学校并初始化管理员账号)PostMapping(/addSchools)private ResultSchools addSchools(RequestParam String name, String address) {}
}http://localhost:8080/swagger-ui/index.html#/