openAPI与Restful API的区别

RESTful API 关心"接口怎么设计",OpenAPI 关心"接口怎么描述"。 它们可以一起使用。

对比 RESTful API OpenAPI
是什么 遵循 REST 架构风格的 API 描述 HTTP API 的标准规范
关注什么 资源、操作方式、无状态等设计原则 路径、参数、请求体、响应、认证等
表现形式 实际接口的设计和行为 JSON 或 YAML 格式的接口说明
用途 组织和提供服务 生成文档、客户端代码,支持测试

REST 是一种架构风格;OpenAPI 是机器和人都能读取的接口描述规范。REST 原始定义、OpenAPI 官方规范

例如,设计一个用户接口:

复制代码
GET    /users/123    获取用户
POST   /users        创建用户
DELETE /users/123    删除用户

这是常见的 REST 风格设计:路径表示资源,HTTP 方法表示操作。

而用 OpenAPI 描述它时,会记录:

复制代码
路径:/users/{user_id}
方法:GET
参数:user_id,整数,必填
成功响应:200,返回用户信息
失败响应:404,用户不存在

结合你现在的 FastAPI 项目:

  • / :实际业务接口,访问后返回 {"message": "Hello World"}。
  • /openapi.json:FastAPI 自动生成的 OpenAPI 接口说明。
  • /docs :Swagger UI 把这份说明展示成可交互的文档页面。FastAPI 文档

有 OpenAPI 文档,不代表接口就一定符合 REST;RESTful API 也可以没有 OpenAPI 文档。

相关推荐
喵了几个咪14 小时前
GoWind ShortPlay 拆解:不用模型的推荐闭环——埋点回流、三路召回与已看去重
开发语言·后端·微服务·golang·gowind
SimonKing14 小时前
又找到一个纯Java的OCR项目,识别的格式还挺多
java·后端·程序员
程序猿DD15 小时前
OctaFuse Gateway 2.17.0:新增维护模式、请求日志汇总、DashScope 语音路由拆分
后端
陈随易15 小时前
副业搞钱点子之赛事与活动
前端·后端·程序员
Profile排查笔记16 小时前
有哪些开源指纹浏览器项目?先核对客户端、内核与许可证
前端·人工智能·后端·自动化
鶴哥只手遮天16 小时前
雷达系统与成像仿真:从电磁散射到工程实现-第 1 章 雷达系统的分层架构与指标闭环
后端
喵了几个咪16 小时前
GoWind UBA 拆解:把 Doris UNIQUE KEY 翻译成 ClickHouse——读数正确性对齐实录
开发语言·后端·clickhouse·微服务·golang·gowind
王中阳Go16 小时前
面试官问什么,取决于你简历上写了什么:后端转 Agent 岗的项目准备法
后端·面试·agent
快乐流星16 小时前
从 SRT 到 MP4:用 Python 把番剧解说制作拆成 10 个可重跑阶段
后端
狂潮lister16 小时前
狂潮 · 元理论v1.0-原创架构设计-AI 网关 | 第9篇:KC-AI‑Gateway(一套可审计的大模型网关完整架构实践)|【完整版】
人工智能·后端