GraphQL
特徴
Ask for what you need,get exactly that (必要なものを求め、正確にそれを取得)
Get many resources in a single request (1つのリクエストで多くのリソースを取得する)
Describe what’s possible with a type system (型システムを利用している)
query
- GraphQLのリクエストは必ずPOSTメソッドになる
query {
viewer {
login
}
}
- queryは省略してリクエストすることができる
{
viewer {
login
}
}
Operation name
- 本番環境のアプリでは、これらを使用してコードを曖昧にしない方が便利です。 操作の種類としてキーワードクエリを含み、操作名としてHeroNameAndFriendsを含む例を次に示します。 https://graphql.org/learn/queries/#operation-name
query fetchViewer{
viewer {
login
}
user(login: "TsuyoshiMorita-freelance") {
avatarUrl
}
}
Arguments
- オブジェクトとそのフィールドをトラバースすることしかできなかった場合、GraphQLはすでにデータのフェッチに非常に役立つ言語です。しかし、引数をフィールドに渡す機能を追加すると、物事はさらに面白くなります。 https://graphql.org/learn/queries/#arguments
query{
repository(owner: "facebook", name: "graphql"){
description
homepageUrl
url
}
}