跳转到主要内容

添加 GraphQL schema

要为你的 GraphQL API 创建页面,你需要一个采用 SDL (Schema Definition Language) 格式的有效 GraphQL schema。将 schema 存储在你的文档仓库中,或托管在 Mintlify 可访问的 HTTPS URL 上。
schema.graphql

自动填充 GraphQL 页面

要为 schema 中的每个 query、mutation 和 type 自动生成页面,请在 docs.json 中的某个 tab 或 group 添加 graphql 属性。Mintlify 会解析 schema,并为每个操作和命名类型创建一个页面。
graphql 属性可接受字符串 (本地路径或 HTTPS URL) ,或包含以下字段的对象:
你只能在 tab 或 group 上声明 graphql。声明了 graphql 的 tab 可以包含 groups,但不能包含其他导航结构,例如 pages、versions 或 languages。声明了 graphql 的 group 可以包含 pages。
string
必填
指向文档仓库中 SDL 文件的本地路径,或指向已托管 SDL 文件的 HTTPS URL。不接受 HTTP URL。
string
生成页面所存放的目录。默认值为 graphql-reference。

生成的页面

Mintlify 会将生成的页面组织到你所配置的 tab 或 group 下的三个部分中:
  • Queries — 为 Query 根类型的每个字段生成一个页面。
  • Mutations — 为 Mutation 根类型的每个字段生成一个页面。
  • Types — 为每个命名的 object、input、enum、interface 或 union 类型生成一个页面。
在 tab 上,这些部分显示在你定义的所有 group 之后。在 group 上,它们以嵌套 group 的形式显示在你列出的所有页面之后。 每个操作页面会显示字段描述、参数、返回类型以及指向所引用类型的链接。Query 和 mutation 页面还包含自动生成的示例操作、所需变量以及示例 JSON 响应。 Type 页面以只读方式渲染 schema 定义,并为字段类型提供链接,方便读者浏览整个 graph。

选择特定的操作和类型

如果你想构建精选的参考文档,而不是生成所有页面,可以在声明了 graphql 的 group 的 pages 数组中列出选择器。你也可以在声明了 graphql 的 tab 或 group 下嵌套的任意 group 中列出它们。声明了 graphql 的 tab 不能包含 pages,因此请将选择器放在该 tab 内的 group 中。Mintlify 只会为每个选中的操作或类型生成页面。
选择器由类别和名称组成,中间用空格分隔:
  • QUERY <field>:Query 根类型上的字段。
  • MUTATION <field>:Mutation 根类型上的字段。
  • TYPE <name>:具名的 object、input、enum、interface 或 union 类型。
选择器类别必须大写。使用点分路径(例如 MUTATION cart.createCart)来选择嵌套在命名空间字段下的操作。TYPE 选择器不支持点分路径。 侧边栏使用嵌套操作的最后一段作为标签,因此 MUTATION cart.createCart 显示为 createCart。页面 URL 保留完整路径,并以 cart/createCart 结尾。 如果声明了 graphql 的 tab 或 group 下有任何页面是选择器,Mintlify 会跳过为其生成完整的 Queries、Mutations 和 Types 部分。同一 pages 数组中的普通页面路径照常生效。 在精选参考中,query 和 mutation 页面只会链接到由你的选择器生成的类型页面。要链接某个已选操作所引用的类型,请为该类型添加一个 TYPE 选择器。 如果选择器在你的 schema 中没有匹配项,构建会失败,并报错指出缺失的操作或类型。

弃用

在你的 schema 中被标记为 @deprecated 的字段和参数,会在生成的页面上被标记为已弃用。如果提供了弃用原因,将显示在该字段旁边。

更新你的文档

当你运行 mint dev 或将更改推送到文档仓库时,Mintlify 会重新生成 GraphQL 参考页面。如果你的 schema 托管在 HTTPS URL 上,schema 的更新会在下一次构建时被采纳。