跳转到内容

模拟 GraphQL API

右键点击某个文件夹 ▸ 添加 ▸ GraphQL 服务器

字段作用
Schema类型定义,采用 SDL 格式
模拟解析器一个 JSON 对象,其键的形式为 type.field,例如 Query.pets
解析脚本一段接收 (parent, args, context) 的 JavaScript

填写了脚本时,脚本优先于固定值:正是这一点让响应能够随收到的参数而变化。

一个 GraphQL 服务器元素:监听地址、提供的 SDL schema,以及键为 type.field → 值的预设解析器映射表

最快的做法:schema 描述结构,解析器给出内容。

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;

schema 中声明的订阅同样会被提供:客户端可以连接上来并接收发出的消息。

GraphQL 服务器关闭 GraphQL 服务器动作会在场景运行期间托管该服务。参见 托管服务器

在后端还不存在时先开发前端、复现一个在测试环境里难以触发的错误响应, 或者为确定性测试固定一份数据集 —— 而且完全不依赖远程服务。