Docs 菜单
Docs 主页
/ /
Atlas App Services

GraphQL 配置文件

在此页面上

  • 服务配置
  • 自定义解析程序配置

注意

本页介绍一种旧版配置文件格式。仅当使用已弃用的 realm-cli时才应使用此信息。

使用 App Services CLI 拉取或从用户界面导出的任何配置文件都使用最新配置版本。 有关当前配置文件格式的详细信息,请参阅应用程序配置。

您可以在graphql目录中为应用程序配置GraphQL API

app/
└── graphql/
├── config.json
└── custom_resolvers
└── <resolver name>.json
graphql/config.json
{
"use_natural_pluralization": <Boolean>,
"disable_schema_introspection": <Boolean>
}
字段
说明
use_natural_pluralization
Boolean

true 默认为新应用程序。

只有当您使用 Admin API端点创建新应用并将该属性传递到请求正文时,才能将该值设立为false 。 创建应用后,该值无法更改为false

如果 true,生成的模式类型名称将尽可能使用常见的英语复数形式。

如果为 false,或者无法确定自然复数,则复数类型使用单数类型名称,并在末尾附加 "s"

例子

对于生成的“鼠标”类型,App Services 可以使用自然复数或默认复数形式:

  • Natural: "mice"

  • 默认值:“鼠标”

disable_schema_introspection
Boolean

对于新应用,此值默认为false

如果为true ,则 GraphQL API 会阻止 内省查询 来自客户端。

此设置对于不想向公众公开其 GraphQL 模式的生产应用程序非常有用。 禁用内省后,GraphiQL 等客户端无法显示 API 模式或自动完成查询和更改的 Docs。

graphql/custom_resolvers/<resolver name>.json
{
"on_type": "<Parent Type Name>",
"field_name": "<Resolver Field Name>",
"function_name": "<Resolver Function Name>",
"input_type": "<Input Type Name>" | { <JSON Schema> },
"input_type_format": "<Input Type Format>",
"payload_type": "<Payload Type Name>" | { <JSON Schema> },
"payload_type_format": "<Payload Type Format>",
}
字段
说明
on_type
String

将自定义解析程序公开为其字段之一的父类型。

有效选项:

field_name
String

父类型上公开自定义解析程序的字段的名称。字段名称在其父类型上的所有自定义解析程序中必须是唯一的。

如果字段名称与父类型模式中的字段匹配,则自定义解析程序将覆盖模式类型。

function_name
String
调用解析程序时运行的函数的名称。 函数参数可以接受单个参数(由input_typeinput_type_format配置),并且必须返回有效负载值(由payload_typepayload_type_format配置)。
input_type
String | JSON Schema
解析程序的input参数的类型(如果它接受输入)。 您可以指定 GraphQL 模式中的其他类型的名称,也可以指定特定于解析程序的自定义 JSON schema。
input_type_format
String

input_type的元数据描述。

有效选项:

  • "scalar" (针对特定 BSON 类型的单个值)

  • "scalar-list" (针对特定 BSON 类型的多个值)

  • "generated" (针对特定公开类型的单个值)

  • "generated-list" (针对特定公开类型的多个值)

  • "custom" (适用于自定义 JSON schema)

payload_type
String | JSON Schema

解析程序有效负载中返回的值的类型。 您可以指定 GraphQL 模式中的其他类型的名称,也可以指定特定于解析程序的自定义 JSON schema。

如果未指定有效负载类型,解析程序将返回一个DefaultPayload对象:

type DefaultPayload {
status: String!
}
payload_type_format
String

payload_type的元数据描述。

有效选项:

  • "scalar" (针对特定 BSON 类型的单个值)

  • "scalar-list" (针对特定 BSON 类型的多个值)

  • "generated" (针对特定公开类型的单个值)

  • "generated-list" (针对特定公开类型的多个值)

  • "custom" (适用于自定义 JSON schema)

来年

什么是 Atlas App Services?