Docs Menu
Docs Home
/ /
Atlas App Services
/ /

GraphQL の構成ファイル

項目一覧

  • サービス構成
  • カスタム リゾルバ構成

アプリケーション用のGraphQL API graphqlディレクトリで構成できます。

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 新しいアプリの場合はデフォルトで。

この値をfalseに設定できるのは、 が Admin API エンドポイントを使用して新しいアプリを作成し、 プロパティをリクエストの本文に渡す場合のみです。 アプリが作成されると、この値はfalseに変更できません。

true の場合、生成されたスキーマ型名では、可能な限り一般的な英語の複数形が使用されます。

false の場合、または自然な複数形を決定できない場合、複数形の型では、末尾に "s" が追加された単数形の型名が使用されます。

App Services では、生成された "mous" 型に対して自然な複数形またはデフォルトの複数形のいずれかを使用できます。

  • 自然: "mlice"

  • デフォルト: "mouss"

disable_schema_introspection
boolean

この値は、新しいアプリのデフォルトではfalseです。

trueの場合、GraphQL API は イントロスペクション クエリ をブロックします クライアントからの。

この設定は、GraphQL スキーマを一般に公開したくない本番アプリに役立ちます。 イントロスペクションが無効になっている場合、GraphQLDocs などのクライアントはAPI スキーマの を表示したり、クエリやミューテーションをオートコンプリートしたりすることはできません。

GraphQL/custom_resolvers/"resolver<resolver name> 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

カスタム リゾルバをフィールドの 1 つとして公開する親型。

有効なオプション:

field_name
string

カスタム リゾルバを公開する親型のフィールドの名前。 フィールド名は、その親型のすべてのカスタム リゾルバ間で一意である必要があります。

フィールド名が親型のスキーマ内のフィールドと一致する場合、カスタム リゾルバはそのスキーマ型を上書きします。

function_name
string

リゾルバが呼び出されるときに実行される関数の名前。 関数引数は、単一の引数( input_typeinput_type_formatで構成)を受け入れることができ、ペイロード値( payload_typepayload_type_formatで構成)を返す必要があります。

input_type
string | object

リゾルバのinput引数の型(入力を受け入れる場合)。 GraphQLスキーマ内の別のタイプの名前または、リゾルバに固有のカスタムJSON schemaの名前を指定できます。

input_type_format
string

input_typeのメタデータの説明。

有効なオプション:

  • "scalar" (特定の BSON type の単一の値用)

  • "scalar-list" (特定の BSON type の複数の値用)

  • "generated" (特定の公開タイプの単一の値の場合)

  • "generated-list" (特定の公開タイプの複数の値用)

  • "custom" (カスタム JSON schema の場合)

payload_type
string | object

リゾルバのペイロードで返される値の型。 GraphQLスキーマ内の別のタイプの名前または、リゾルバに固有のカスタムJSON schemaの名前を指定できます。

ペイロード型を指定しない場合、リゾルバはDefaultPayloadオブジェクトを返します。

type DefaultPayload {
status: String!
}
payload_type_format
string

payload_typeのメタデータの説明。

有効なオプション:

  • "scalar" (特定の BSON type の単一の値用)

  • "scalar-list" (特定の BSON type の複数の値用)

  • "generated" (特定の公開タイプの単一の値の場合)

  • "generated-list" (特定の公開タイプの複数の値用)

  • "custom" (カスタム JSON schema の場合)

戻る

関数