签到成功

知道了

CNDBA社区CNDBA社区

OpenAPI 3.0规范 和 Swagger 关系说明

2025-10-22 17:12 158 0 转载 大模型
作者: dave

OpenAPI 3.0 规范的 Swagger 文档,通常指的是遵循 OpenAPI Specification (OAS) 3.0 版本标准编写的 API 接口描述文档http://www.cndba.cn/dave/article/131756http://www.cndba.cn/dave/article/131756

这个术语的使用源于历史原因,需要澄清以下几点:http://www.cndba.cn/dave/article/131756

  1. OpenAPI 与 Swagger 的关系http://www.cndba.cn/dave/article/131756http://www.cndba.cn/dave/article/131756

    • Swagger 最初是一个由 SmartBear 公司开发的开源框架,用于设计、构建、文档化和使用 RESTful API。它有一套自己的规范。
    • 2015年,SmartBear 将 Swagger 规范捐赠给了 OpenAPI Initiative (OAI) 组织。
    • 在 OAI 的管理下,该规范被重命名为 OpenAPI Specification (OAS)
    • 因此,Swagger 是 OpenAPI 的前身。现在,“OpenAPI”是官方的、标准化的名称。
  2. 为什么还叫 “Swagger 文档”http://www.cndba.cn/dave/article/131756

    • 历史惯性: “Swagger” 这个名字在开发者社区中根深蒂固,即使规范已经更名为 OpenAPI,人们仍然习惯性地用 “Swagger” 来指代 API 文档。
    • 工具链: 许多流行的工具仍然以 “Swagger” 命名,例如:
      • Swagger UI: 一个非常流行的开源工具,可以将 OpenAPI 3.0 规范的 JSON 或 YAML 文件渲染成一个美观、交互式的网页文档。
      • Swagger Editor: 一个在线编辑器,用于编写和验证 OpenAPI 规范。
      • Swagger Codegen: 可以根据 OpenAPI 规范生成客户端 SDK 或服务端骨架代码。
    • 所以,当人们说“给我 Swagger 文档”时,他们通常指的是“给我一个 OpenAPI 3.0 规范的文件,最好能用 Swagger UI 查看”。
  3. OpenAPI 3.0 规范的核心内容
    一个符合 OpenAPI 3.0 规范的文档(通常是一个 .yaml.json 文件)会详细描述你的 API,包括:

    • 基本信息: API 的标题、版本、描述、服务器地址等。
    • 路径 (Paths): API 的所有端点(如 /users, /products/{id})。
    • 操作 (Operations): 每个端点支持的 HTTP 方法(GET, POST, PUT, DELETE 等)。
    • 参数 (Parameters): 请求中可以接受的参数(路径参数、查询参数、请求头等),包括名称、类型、是否必需等。
    • 请求体 (Request Body): 对于 POST、PUT 等操作,描述请求体的数据结构(通常引用 components/schemas 中定义的模型)。
    • 响应 (Responses): 描述每个操作可能返回的 HTTP 状态码(如 200, 404, 500)以及对应的响应体结构。
    • 数据模型 (Schemas): 在 components/schemas 部分定义 API 中使用的复杂数据对象的结构(类似于 JSON Schema)。
    • 安全方案 (Security): 描述 API 的认证和授权机制(如 API Key, OAuth2, Bearer Token 等)。
    • 其他: 如回调、链接、服务器变量等高级特性。

总结来说:http://www.cndba.cn/dave/article/131756

http://www.cndba.cn/dave/article/131756

当你听到“OpenAPI 3.0规范的Swagger文档”时,它指的是:

http://www.cndba.cn/dave/article/131756
http://www.cndba.cn/dave/article/131756

  • 一个遵循 OpenAPI 3.0 标准编写的 API 描述文件
  • 这个文件通常可以用 Swagger UI 等工具渲染成一个漂亮的、可交互的网页
  • 虽然名字里有 “Swagger”,但其技术标准是 OpenAPI 3.0

你可以把它理解为:一份用 OpenAPI 3.0 语言写的 API 合同,而 “Swagger” 是查看这份合同最常用的浏览器

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2297
    原创
  • 3
    翻译
  • 637
    转载
  • 198
    评论
  • 访问:9392148次
  • 积分:4535
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ