Menu Docs
Página inicial do Docs
/ /
Serviços Atlas App

Arquivos de configuração GraphQL

Nesta página

  • Configuração do serviço
  • Configuração personalizada do resolvedor

Observação

Esta página descreve um formato de arquivo de configuração legado. Você só deve usar essas informações se estiver usando o realm-cli obsoleto.

Todos os arquivos de configuração que você extrai com o App Services CLI ou exporta da UI utilizam a versão de configuração mais recente. Para obter informações detalhadas sobre o formato do arquivo de configuração atual, consulte Configuração do aplicativo.

Você pode configurar a GraphQL API para seu aplicativo no diretório graphql :

app/
└── graphql/
├── config.json
└── custom_resolvers
└── <resolver name>.json
graphql/config.json
{
"use_natural_pluralization": <Boolean>,
"disable_schema_introspection": <Boolean>
}
Campo
Descrição
use_natural_pluralization
Boolean

true por padrão para novos aplicativos.

Você só pode definir o valor como false ao criar um novo aplicativo com o ponto de extremidade da API Admin e passar a propriedade para o corpo da solicitação. O valor não pode ser alterado para false após a criação do aplicativo.

Se true, os nomes de tipo de esquema gerados utilizam a pluralização em inglês comum sempre que possível.

Se false, ou se uma pluralização natural não pode ser determinada, então os tipos plurais usam o nome do tipo singular com um "s" anexado ao final.

Exemplo

O App Services pode usar um plural natural ou um plural padrão para um tipo de "mouse" gerado:

  • Natural: "ratos"

  • Padrão: "mouses"

disable_schema_introspection
Boolean

Este valor é false por padrão para novos aplicativos.

Se true, a GraphQL API bloqueia queries de introspecção de clientes.

Essa configuração é útil para aplicativos de produção que não desejam expor seu esquema GraphQL ao público. Quando a introspecção está desabilitada, clientes como o GrafiQL não podem mostrar Docs para o esquema de API ou preencher automaticamente query e mutações.

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>",
}
Campo
Descrição
on_type
String

O tipo principal que expõe o resolvedor personalizado como um de seus campos.

Opções válidas:

field_name
String

O nome do campo no tipo principal que expõe o resolvedor personalizado. O nome do campo deve ser exclusivo entre todos os resolvedores personalizados em seu tipo principal.

Se o nome do campo corresponder a um campo no esquema do tipo principal, o resolvedor personalizado substituirá o tipo de esquema.

function_name
String
O nome da função que é executada quando o resolvedor é chamado. Os argumentos da função podem aceitar um único argumento (configurado por input_type e input_type_format) e devem retornar um valor de carga útil (configurado por payload_type e payload_type_format).
input_type
String | JSON Schema
O tipo do argumento input do resolvedor (se ele aceitar entrada). Você pode especificar o nome de outro tipo em seu esquema GraphQL ou um JSON schema personalizado específico para o resolvedor.
input_type_format
String

Uma descrição de metadados do input_type .

Opções válidas:

  • "scalar" (para um único valor de um tipo de BSON específico)

  • "scalar-list" (para vários valores de um tipo de BSON específico)

  • "generated" (para um único valor de um tipo exposto específico)

  • "generated-list" (para vários valores de um tipo exposto específico)

  • "custom" (para um JSON schema personalizado)

payload_type
String | JSON Schema

O tipo do valor retornado na carga útil do resolvedor. Você pode especificar o nome de outro tipo em seu esquema GraphQL ou um JSON schema personalizado específico para o resolvedor.

Se você não especificar um tipo de carga útil, o resolvedor retornará um objeto DefaultPayload :

type DefaultPayload {
status: String!
}
payload_type_format
String

Uma descrição de metadados do payload_type .

Opções válidas:

  • "scalar" (para um único valor de um tipo de BSON específico)

  • "scalar-list" (para vários valores de um tipo de BSON específico)

  • "generated" (para um único valor de um tipo exposto específico)

  • "generated-list" (para vários valores de um tipo exposto específico)

  • "custom" (para um JSON schema personalizado)

Próximo

O que são os Serviços de Aplicativo Atlas?