RESTとGraphQLとgRPCの比較
RESTful API
取得できるデータ構造はいつも決まっている
上から下まで全部固定
少しのデータが必要な場合も、不要なデータまで取得しないといけない
endpointを新たに作れば解決できるものの、過不足を調整するのが大変
server/clientの両方を触らないといけないので
静的
GraphQL
一つのエンドポイント
取得できるデータ構造がフレキシブル
動的
リクエストは必ずPOSTになる
型がある
clientからqueryを打ってる感じなので、1回のreqで自由にデータを取ってこれる
ちょっと取ってくるのも、いっぱい取ってくるのも1回のreqで行える
とはいえ、めちゃくちゃ好きなようにできるわけではない #?? GraphQLの問い合わせ先は、
REST API
Websocker
別のGraphQL
など、インターネット上のあらゆるところに問い合わせられる
という意味で、SQLより強い
graphql v.s. grpc
gRPCは低レベル向き、GraphQLは高レベル向き