跳到內容

模擬 GraphQL API

在資料夾上按右鍵 ▸ 新增 ▸ GraphQL 伺服器

欄位作用
結構描述型別定義,以 SDL 撰寫
模擬解析器一個 JSON 物件,它的鍵是 Type.field 這種形式,例如 Query.pets
解析指令碼一段接收 (parent, args, context) 的 JavaScript

只要填了指令碼,指令碼就會勝過那些預先定義的值:這正是讓回應能隨收到的引數變化 的方式。

一個 GraphQL 伺服器項目:監聽位址、提供出去的 SDL 結構描述,以及預先定義解析器的對照表,鍵 Type.field → 值

最快的做法:結構描述描述形狀,解析器提供內容。

type Animal { id: ID!, nom: String!, espece: String! }
type Query { animaux: [Animal!]! }
{
"Query.animaux": [
{ "id": "1", "nom": "Mistigri", "espece": "chat" },
{ "id": "2", "nom": "Rex", "espece": "chien" }
]
}

當回應必須取決於輸入時:

// (parent, args, context)
if (args.espece) {
return animaux.filter((a) => a.espece === args.espece);
}
return animaux;

結構描述裡宣告的訂閱同樣會被提供出去:用戶端可以連上去,並收到發出的訊息。

GraphQL 伺服器關閉 GraphQL 伺服器動作會在情境執行的這段時間裡託管這個服 務。請參閱託管伺服器

在後端還不存在時就先開發前端、重現一個在測試環境很難引發的錯誤回應,或是為了確定性 的測試而把一份資料集固定下來 — 全都不必依賴遠端服務。