GraphQLスタイルのモックJSONレスポンス
データラッパーとオプションのエラー配列を含むGraphQL規約に従ったモックレスポンスを生成。GraphQLクライアント統合のテストに。
Nested Data
詳細な説明
GraphQLスタイルレスポンス
GraphQLレスポンスはGraphQL仕様で定義された特定の構造に従います。REST APIを構築している場合でも、多くの最新APIが同様の規約を採用しているため、このパターンを理解することは価値があります。
レスポンス構造
{
"data": {
"user": {
"id": "uuid",
"name": "string",
"email": "email",
"posts": [
{
"id": "uuid",
"title": "string",
"comments": [
{ "id": "uuid", "body": "string" }
]
}
]
}
}
}
GraphQL規約
| フィールド | 説明 |
|---|---|
data |
成功したレスポンスペイロード。クエリの形状に一致 |
errors |
クエリが部分的または完全に失敗した場合のオプションのエラーオブジェクト配列 |
extensions |
オプションのメタデータ(クエリの複雑さ、実行時間など) |
部分的エラー
レスポンスが成功かエラーかのどちらかであるRESTとは異なり、GraphQLはdataとerrorsを同時に返すことができます。例えば、ユーザーデータとその投稿のクエリは、ユーザーについては成功するが投稿については失敗する可能性があります:
{
"data": {
"user": { "id": "123", "name": "Alice" },
"posts": null
},
"errors": [
{ "message": "Posts service unavailable", "path": ["posts"] }
]
}
GraphQLクライアントのテスト
このモックはApollo Client、urql、またはRelay統合のテストに役立ちます。クライアントがネストされたデータ構造を正しく処理し、キャッシュを更新し、部分的エラーを処理することを検証できます。
ユースケース
RESTからGraphQLへの移行やBFF(Backend for Frontend)層の構築を行う開発者が、レスポンスの形状をプロトタイプし、GraphQLクライアント構成をテストするために使用できます。