Graphql基本功
GraphQLの概要
GraphQLはAPI用のクエリー言語であり、タイプシステムを使用してクエリーを実行するサーバ側タイプである.
GraphQLはフロントだけを知ることはできません.フロントはサーバにデータを要求する方式なので、サーバもGraphQLを知っているはずです.
GraphQLサービス定義
Type
およびfield
は、各タイプのフィールドが関数によって実装される.GraphQLサービスの例
GraphQL 서비스 예시
type Query {
me: User
}
type User {
id: ID
name: String
}
データのリクエストと再受信時に、リクエストされたデータが何であるか、リクエストされたデータがどのような形式であるかを明確に知るために、上記のコードに従って宣言します.検証:クエリーを要求する場所に適切なタイプまたは実際に存在するデータが要求されているかどうかを確認します.
クエリーの例
요청
{
me {
name
}
}
結果
응답
{
"me": {
"name": "Luke Skywalker"
}
}
GraphQLの使い方
これは以前GraphQLを使用していたSWAPIです.
GraphQLの利点は、1回のリクエストで複数のリクエストが必要なデータが得られることです.(クエリのフィールドはオブジェクトを参照できます.)
特定のデータはArgumentパラメータ(expersonID)で問い合わせることができます.
GraphQLでクエリーする場合、ctrl+space barを押すとクエリー可能なデータのリストが得られます.
#
、スズ処理を行うことができる.Alias(別名)
クエリーのフィールド名が同じで、異なるパラメータをクエリーする場合に使用します.
person (personID: 1) {}
person (personID: 2) {}
上記コードに示すように"Fields \"person\" conflict because they have differing arguments. Use different aliases on the fields to fetch both if this was intentional.",
という名前のエラーが発生しました.これを防ぐためにPerson 1,Person 2の2つの別名を与えることができる.
Fragment
繰り返しフィールドセット(繰り返し使用可能な単位)
宣言:フィールドセットを持つオブジェクトの断片[名前]{}
使用時:.[名前](拡張演算子を使用)
Reactでは、クリップを複数のコンポーネントにカプセル化するときに、特定のタグに置き換えられないビームとして使用します.
分割での変数の使用
これまで,
query
と쿼리 이름
を省略した匿名クエリがクエリの前に用いられてきた.ただし、Fragmentで変数を使用する場合は、queryと名前を宣言する必要があります.
ビット目のクエリーはfirstというパラメータに$amount値を加え、対応するフィルムデータを何個入れるかを指定するクエリーです.amountに2つあげると2つの値が出ます.
タスク名(operation)
query
のキーワードとquery
の名前を省略した単出構文が使用されますが、デバッグまたはサーバ側レコードにクエリー名を指定することは便利です.ワークタイプはquery、変異、サブスクリプションです.
タスクに関数名のような名前を付けます.
変数#ヘンスウ#
(転送方法を知りたい場合は、プロジェクトフォルダのindex.htmlファイルでgraphQLFFetcher関数を使用してgraphQLParamsをalertとして印刷できます)
변수
(割り当て可能なデフォルト値)query文では、
QUERY VARIABLES
に変数値を指定するのではなく、変数値を入力できます.指示文
ifドアがfalseの場合、filmConnetionのデータは表示されません.
withFilmの値をtrueに変更すると、映画データも表示されます.
@include(if:Boolean):このフィールドは、パラメータがtrueの場合にのみ結果に含まれます.
@skip(if:Boolean):パラメータがtrueの場合、このフィールドはスキップされます.
整理する
/GraphQLクエリー要求と結果JSON形式の同じ形式クエリーフィールドオブジェクト参照(マルチスプライトX)/パラメータ/重複するフィールドセットを別名で分割/変数伝達可能変数/命令動的クエリー方法/@inclue,@skip
Reference
この問題について(Graphql基本功), 我々は、より多くの情報をここで見つけました https://velog.io/@bgo517/Graphql-기본기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol