directives
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/19 05:55 UTC 版)
「GraphQL」の記事における「directives」の解説
GraphQLではdirectivesを用いたクエリの制御が可能である。GraphQLオブジェクトの各field(例: tomorrow)はdirectiveを持てる。directivesは処理系に依存したあらゆる処理を指定するアノテーションである。全ての処理系に実装されるdirectiveの例としてfieldの無視を指定する@include(if: Boolean)がある。 { sinjuku { weather } ikebukuro @include(if: false) { weather rainyPercent}} { "sinjuku": { "weather": "cloudy"}} 全てのresolverに@include相当の引数を用意すれば同等の機能を提供できるが、directivesを用いることでresolverに手を加えずかつdirective処理系1箇所での実装のみでこの機能を提供できる。 directivesはGraphQLサービス処理系以外にも利用されうる。例えばAWS AmplifyはSchema上のdirectivesに基づいたクラウドリソースプロビジョニングコード生成("GraphQL Transform")を実装している。@modelが付与されたfieldはresolverが自動で生成されかつDynamoDBにリソースが準備される。これはGraphQLサービス処理系ではなく、Amplify CLIによっておこなわれる。
※この「directives」の解説は、「GraphQL」の解説の一部です。
「directives」を含む「GraphQL」の記事については、「GraphQL」の概要を参照ください。
- directivesのページへのリンク