OpenAPI 是用于描述 API 的规范。Mintlify 支持 OpenAPI 3.0 和 3.1 文档,用于生成交互式 API 文档并保持其始终最新。Documentation Index
Fetch the complete documentation index at: https://mintlify-mintlify-workflow-6a109a49-20-api-playground-any-u.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
添加 OpenAPI 规范文件
https://your-domain/docs/openapi.json。
在 docs.json 的 navigation 配置中引用任意数量的 OpenAPI 规范,以为你的 API 端点创建页面。每个规范文件都会生成自己的一组端点。
Mintlify 仅支持在单个 OpenAPI 文档内使用
$ref 进行内部引用,不支持外部引用。描述你的 API
- Swagger 的 OpenAPI 指南,用于学习 OpenAPI 语法。
- OpenAPI 规范的 Markdown 源文件,用于查阅最新版 OpenAPI 规范的详细信息。
- Swagger Editor,用于编辑、验证和调试你的 OpenAPI 文档。
- Mint CLI,可通过以下命令验证你的 OpenAPI 文档:
mint validate。
Swagger 的 OpenAPI 指南面向 OpenAPI v3.0,但其中几乎所有信息同样适用于 v3.1。关于 v3.0 与 v3.1 的差异,请参阅 OpenAPI 博客中的 Migrating from OpenAPI 3.0 to 3.1.0。
指定 API 的基础 URL
servers 字段,并填写 API 的基础 URL。
/users/{id},或直接使用 /。基础 URL 用于指明这些路径应追加到哪里。有关如何配置 servers 字段的更多信息,请参阅 OpenAPI 文档中的 API Server and Base Path。
API playground 会使用这些服务器 URL 来确定请求的发送目标。如果你指定了多个服务器,将提供一个下拉菜单,允许用户在不同服务器之间切换。如果未指定服务器,API playground 会使用简易模式,因为在没有基础 URL 的情况下无法发送请求。
如果你的 API 的端点分布在不同的 URL 下,你可以为特定路径或操作覆盖 servers 字段。
指定身份验证
securitySchemes 和 security 字段。API 描述与 API 操练场会根据 OpenAPI 规范中的安全配置自动添加身份验证字段。
常见的身份验证类型包括:
如果你的 API 中不同的端点需要不同的身份验证方式,你可以为某个操作覆盖
security 字段。
有关定义和应用身份验证的更多信息,请参阅 OpenAPI 文档中的Authentication。
为安全方案设置默认值
x-default 扩展,可以在 API playground 中预填身份验证字段。这对于提供占位值或测试凭据非常有用,能帮助用户快速上手。
x-default 扩展支持 apiKey 和 http bearer 安全方案类型。该值作为 playground 身份验证字段中的默认输入显示。
你还可以在 OpenAPI 规范中的任何 schema 属性上使用 x-default,以在 API playground 中设置默认值,而不影响 schema 定义中的 default 字段。
仅当你在 enum 属性上显式设置
example 或 default 时,API playground 才会预填该字段。如果两者都未设置,Mintlify 不会自动预填 enum 的第一个值,因此在用户选择之前该字段保持为空。自定义端点页面
x-mint 扩展即可自定义端点页面。x-mint 扩展可让你进一步控制 API 文档的生成与展示方式。
元数据
x-mint: metadata,即可覆盖生成的 API 页面的默认元数据。除了 openapi 之外,你可以使用 MDX frontmatter 中任意有效的元数据字段。
playground 和 groups metadata 字段,为每个 endpoint 单独控制 playground 的展示:
admin 组的已认证用户才能使用交互式 Playground。
内容
x-mint: content 在自动生成的 API 文档之前添加内容。x-mint: content 扩展支持所有 Mintlify MDX 组件和格式。
href
x-mint: href 设置自动生成的端点页面的 URL。当存在 x-mint: href 时,生成的 API 页面将使用指定的 URL,而不是默认自动生成的 URL。
参数标签
x-mint.pre 和 x-mint.post,为 API 参考和 playground 中的参数添加自定义标签。pre 标签会渲染在参数名称之前,post 标签会渲染在参数名称之后,与 Mintlify 内置的 required、read-only 和 write-only 等标签并排显示。
这两个字段都接受字符串数组。每个字符串都会成为一个独立的标签。
docs.json 中配置 api.params.post。列出你希望显示的字段键名,Mintlify 会从 schema 中读取每个值,并自动渲染相应的标签。
{ "type": "string", "nullable": true, "x-internal": "admin" } 的属性会在其名称旁渲染 nullable 和 admin 标签。post 标签按以下顺序显示:内置标签(read-only、write-only)、由 api.params.post 配置驱动的标签,然后是逐属性配置的 x-mint.post 标签。
分组显示名称
x-group 扩展为某个 tag 的导航分组设置自定义显示名称。默认情况下,Mintlify 将 tag 的 name 同时用作导航分组标签和 URL 路径段。x-group 扩展会覆盖分组标签,同时保留 tag 名称用于 URL。
当你希望使用一个易于阅读的分组名称,而该名称与 API 路径中使用的 tag 不同时,这非常有用。
user-management tag 名称作为路径段。
自动填充 API 页面
docs.json 中为任意导航元素添加一个 openapi 字段,可自动生成 OpenAPI 端点页面。你可以控制这些页面在导航结构中的位置,既可作为独立的 API 区块,也可与其他页面并列展示。
openapi 字段可接受你文档仓库中的路径,或指向托管 OpenAPI 文档的 URL。
生成的端点页面具有以下默认元数据值:
title:若存在,则取该操作的summary字段;若没有summary,Mintlify 会根据 HTTP 方法与端点生成标题。description:若存在,则取该操作的description字段。version:若存在,则取父级锚点或选项卡中的version值。deprecated:取该操作的deprecated字段。若为true,则会在侧边导航和端点页面的端点标题旁显示“已弃用”标签。
- 独立的 API 区块:在导航元素中引用 OpenAPI 规范以创建独立的 API 区块。
- 选择性端点:在导航中与其他页面并列引用特定端点。
专用 API 部分
openapi 字段 (不包含其他页面) ,即可生成专用的 API 部分。规范中的所有端点都会出现在生成的部分中。
directory 字段为可选项,用于指定 Mintlify 将生成的 API 页面存放在文档仓库中的位置。若未指定,则默认使用仓库中的 api-reference 目录。选择性端点
设置默认 OpenAPI 规范
pages 字段中引用特定的端点。
METHOD /path 格式的页面条目,都会基于默认的 OpenAPI 规范为该端点生成一个 API 页面。
OpenAPI 规范继承
单个端点
从你的 OpenAPI 规范创建 MDX 页面
- 在前置参数 (frontmatter) 中使用
openapi字段为端点编写文档。 - 在前置参数 (frontmatter) 中使用
openapi-schema字段为数据模型编写文档。
编写端点文档
openapi 字段指定要展示的 OpenAPI 操作。
docs.json 中引用外部 OpenAPI URL。
自动生成端点页面
文档数据模型
openapi-schema 字段,为 OpenAPI 规范的 components.schemas 下定义的每个数据结构各创建一个页面。
Webhooks
paths 字段并列添加一个 webhooks 字段。
有关定义 Webhook 的更多信息,请参阅 OpenAPI 文档中的 Webhooks。
要为某个 Webhook (OpenAPI 3.1+) 创建 MDX 页面,请使用 webhook 替代某个 HTTP 方法:
webhooks 字段中的键完全一致。