Docs Menu
Docs Home
/ /
Archivos de configuración de la aplicación

Archivos de configuración de GraphQL

Puede configurar la API GraphQL para su aplicación en el graphql directorio:

app/
└── graphql/
├── config.json
└── custom_resolvers
└── <resolver name>.json
graphql/config.json
{
"use_natural_pluralization": <Boolean>,
"disable_schema_introspection": <Boolean>
}
Campo
Descripción
use_natural_pluralization
boolean

true de forma predeterminada para nuevas aplicaciones.

Solo puedes establecer el valor en false cuando Cree una nueva aplicación con el punto final de la API de administración y pase la propiedad al cuerpo de la solicitud. El valor no se puede cambiar a false una vez creada la aplicación.

Si es true, los nombres de tipos de esquema generados utilizan la pluralización inglesa común siempre que sea posible.

Si false, o si no se puede determinar una pluralización natural, entonces los tipos plurales usan el nombre del tipo singular con una "s" añadida al final.

Ejemplo

Los servicios de aplicaciones pueden usar un plural natural o un plural predeterminado para un tipo "mouse" generado:

  • Natural: "ratones"

  • Predeterminado: "ratones"

disable_schema_introspection
boolean

Este valor es false por defecto para las nuevas aplicaciones.

trueSi, la API GraphQL bloquea las consultas de introspección de los clientes.

Esta configuración es útil para aplicaciones de producción que no desean exponer su esquema GraphQL al público. Cuando la introspección está deshabilitada, clientes como GraphiQL no pueden mostrar la documentación del esquema de la API ni autocompletar consultas y mutaciones.

graphql/custom_resolvers/.json<resolver name>
{
"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
Descripción
on_type
string

El tipo principal que expone el solucionador personalizado como uno de sus campos.

Opciones válidas:

field_name
string

El nombre del campo en el tipo padre que expone el resolver personalizado. El nombre del campo debe ser único entre todos los resolutores personalizados en su tipo padre.

Si el nombre del campo coincide con un campo en el esquema del tipo principal, el solucionador personalizado anula el tipo de esquema.

function_name
string

El nombre de la función que se ejecuta al llamar al solucionador. Los argumentos de la función pueden aceptar un solo argumento (configurado por input_type input_type_formaty) y deben devolver un valor de carga útil (configurado por payload_type payload_type_formaty).

input_type
string | object

El tipo del argumento input del resolvedor (si acepta entrada). Puede especificar el nombre de otro tipo en su esquema GraphQL o un esquema JSON personalizado específico del resolvedor.

input_type_format
string

Una descripción de metadatos de input_type.

Opciones válidas:

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

  • "scalar-list" (para valores múltiples de un tipo BSON específico)

  • "generated" (para un valor único de un tipo expuesto específico)

  • "generated-list" (para valores múltiples de un tipo expuesto específico)

  • "custom" (para un esquema JSON personalizado)

payload_type
string | object

El tipo del valor devuelto en la carga útil del resolvedor. Puede especificar el nombre de otro tipo en su esquema GraphQL o un esquema JSON personalizado específico del resolvedor.

Si no especifica un tipo de carga útil, el solucionador devuelve un objeto DefaultPayload:

type DefaultPayload {
status: String!
}
payload_type_format
string

Una descripción de metadatos de payload_type.

Opciones válidas:

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

  • "scalar-list" (para valores múltiples de un tipo BSON específico)

  • "generated" (para un valor único de un tipo expuesto específico)

  • "generated-list" (para valores múltiples de un tipo expuesto específico)

  • "custom" (para un esquema JSON personalizado)

Volver

Funciones

En esta página