エンドポイントに対して、HTTP動詞でリクエストを投げる
curl https://api.bmf-tech.com/v1/configs
[
{
"id": 1,
"name": "title",
"alias_name": "Title",
"value": "bmf-tech",
"created_at": "2017-09-25 23:08:23",
"value": "bmf-tech",
"deleted_at": null
}
]
単一のエンドポイントに対し、クエリを投げる
curl https://api.bmf-tech.com/api
configs {
id,
name,
alias_name
value,
created_at,
updated_at,
deleted_at
}
[
{
"id": 1,
"name": "title",
"alias_name": "Title",
"value": "bmf-tech",
"created_at": "2017-09-25 23:08:23",
"value": "bmf-tech",
"deleted_at": null
}
]
REST API | GraphQL | |
---|---|---|
エンドポイント | 複数 | 単一 |
HTTP動詞 | 依存している | 依存していない |
型システム | 無し | 有り |
バージョニングの必要 | 有り | 無し |
ドキュメントの必要性 | 有り | 無し |
リソース制限 | コール回数が主 | リソース量に応じて対応 |
単一エンドポイントに対して欲しいデータを柔軟に指定
リソース制限には工夫が必要
ドキュメントの必要性がほぼない
ライブラリ依存になる
必ずしもREST APIよりパフォーマンスがよくなるわけではなさそう
モニタリング
キャッシュ周り