创建 API
创建 API创建 API 层级结构

创建 API 层级结构

自定义端点和持久化 Query 可以组织成层级结构。通过声明父级来实现,此时端点路径将在父级端点路径的基础上延伸。

例如,我们可以创建以下层级:

  • 父级持久化 Query: /graphql-query/posts/
  • 子级持久化 Query: /graphql-query/posts/english/
  • 子级持久化 Query: /graphql-query/posts/french/

层级数量不受限制,因此我们也可以创建:

  • /graphql-query/posts/
  • /graphql-query/posts/mobile-app/
  • /graphql-query/posts/mobile-app/english/
  • /graphql-query/posts/mobile-app/french/
  • /graphql-query/posts/website/
  • /graphql-query/posts/website/english/
  • /graphql-query/posts/website/french/

请参阅指南 API 层级结构的策略,了解可能的配置方式。

属性继承

子级自定义端点和持久化 Query 将从父级继承属性。

自定义端点和持久化 Query

子级自定义端点和持久化 Query 将继承父级的 schema 配置。

仅限持久化 Query

子级持久化 Query 还将继承父级的 GraphQL Query 和变量。变量的值可由子级逐一覆盖。

例如,若父级声明了以下变量:

{
  "limit": 5,
  "offset": 0
}

而子级声明了以下变量:

{
  "limit": 10
}

则子级的计算变量将为:

{
  "limit": 10,
  "offset": 0
}

创建 API 层级结构

在自定义端点或持久化 Query 的文档设置中,有一个 Page Attributes 部分,其中包含所有其他实体的下拉列表,可从中选择父级:

API 继承

持久化 Query

选择父级后,持久化 Query 将提供一个新选项「Inherit query from ancestor(s)?」

将该选项设置为 Yes,使子级持久化 Query 继承父级的 GraphQL Query:

API 继承

示例

此持久化 Query 定义了其 GraphQL Query,并以值 1 声明了变量 $limit

父级持久化 Query

子级持久化 Query 在其基础上进行扩展,继承 GraphQL Query,并将变量 $limit 的值覆盖为 2

子级持久化 Query