GraphQL
クライアントは操作およびリソースを表現したクエリーをリクエストする
データの問い合わせ (query)
書き換え (mutation)
購読 (subscription)
特徴
RESTやその他のWebサービスと比較して、効率的、堅牢、フレキシブルなアプローチ
クライアントが必要なデータの構造を定義することができ、サーバーからは定義したのと同じ構造のデータが返される
必要以上に大きなデータが返されるのを防ぐことができクエリの効率が良い
柔軟性と豊かな表現が可能なクエリ言語は複雑さを加えるためシンプルなAPIには適さない可能性もある
概要
リソースをURLパスで表現するRESTful APIと異なり、GraphQLはリソースをdocumentで表現する
GraphQL WebAPIの場合、単一のAPIエンドポイントへdocumentをPOSTすることでクエリが実行される