1. 其他教程
  2. 从 OpenAPI 规范

从 OpenAPI 规范创建 Gradio 应用

引言

OpenAPI 是一个被广泛采用的标准,用于以机器可读的格式描述 RESTful API,通常以 JSON 文件形式存在。

您只需一行 Python 代码即可从 OpenAPI 规范创建 Gradio UI,立即为任何 API 生成一个交互式网页界面,使其可用于演示、测试或与非开发人员共享,而无需编写自定义前端代码。

工作原理

Gradio 现在提供了一个便捷函数 gr.load_openapi,可以自动从 OpenAPI v3 规范生成 Gradio 应用。此函数解析规范,为每个端点和参数创建 UI 组件,让您直接从浏览器与 API 交互。

这是一个最小示例

import gradio as gr

demo = gr.load_openapi(
    openapi_spec="https://petstore3.swagger.io/api/v3/openapi.json",
    base_url="https://petstore3.swagger.io/api/v3",
    paths=["/pet.*"],
    methods=["get", "post"],
)

demo.launch()

参数

  • openapi_spec: 包含 OpenAPI v3 规范(仅限 JSON 格式)的 URL、文件路径或 Python 字典。
  • base_url: API 端点的基本 URL(例如,https://api.example.com/v1)。
  • paths(可选): 要包含的端点路径模式列表(支持正则表达式)。如果未设置,则包含所有路径。
  • methods(可选): 要包含的 HTTP 方法列表(例如,["get", "post"])。如果未设置,则包含所有方法。

生成的应用将显示一个包含可用端点的侧边栏,并为每个操作创建交互式表单,让您实时进行 API 调用并查看响应。

后续步骤

一旦 Gradio 应用运行起来,您可以将 URL 分享给其他人,让他们通过友好的网页界面试用 API——无需编写代码。为了获得更强大的功能,您可以使用 Gradio 的 MCP 集成将应用作为 MCP(模型控制协议)服务器启动,从而通过 MCP 生态系统实现 API 的编程式访问和编排。这使得构建、共享和自动化 API 工作流变得轻而易举。

gradio