RESTとGraphQLとgRPCの比較
Web API/データ通信の種類に書いても良いかも
RESTful API
取得できるデータ構造はいつも決まっている
上から下まで全部固定
少しのデータが必要な場合も、不要なデータまで取得しないといけない
endpointを新たに作れば解決できるものの、過不足を調整するのが大変
server/clientの両方を触らないといけないので
例: https://developer.github.com/v3/users/
静的
GraphQL
一つのエンドポイント
取得できるデータ構造がフレキシブル
動的
リクエストは必ずPOSTになる
型がある
clientからqueryを打ってる感じなので、1回のreqで自由にデータを取ってこれる
ちょっと取ってくるのも、いっぱい取ってくるのも1回のreqで行える
とはいえ、めちゃくちゃ好きなようにできるわけではない #??
GraphQL Schemaと、queryで取ってこれるものの差がよくわかっていない
GraphQLの問い合わせ先は、
REST API
Websocker
別のGraphQL
など、インターネット上のあらゆるところに問い合わせられる
という意味で、SQLより強い
https://dev.classmethod.jp/articles/reinvent19-graphql-modern-api/
https://www.webprofessional.jp/rest-2-0-graphql/
https://blog.apollographql.com/graphql-vs-rest-5d425123e34b
graphql v.s. grpc
https://qiita.com/hitochan777/items/7ecc11e77fa89be009d3
gRPCは低レベル向き、GraphQLは高レベル向き
https://blog.datank.ai/graphql-grpc-part-1-54d92a109619