GraphQL

GraphQL 将多个资源 URL 替换为一个端点和一个类型化的模式。客户端发送一个查询,描述它所需的数据结构——例如,该用户、其最近三个订单、每个订单的总金额——并接收完全符合预期的数据结构。写入操作本质上是变更操作,以相同的方式发送。

工作原理

服务器在执行查询之前,会先根据其模式验证每个查询,然后解析每个字段,这些字段可能来自不同的数据源。请求通常是 POST 请求,查询内容包含在 JSON 请求体中。错误信息会与已解析的数据一起记录在错误数组中,通常情况下,整个 HTTP 请求的状态码为 200。

误解

GraphQL 取代了 HTTP 状态码。由于部分失败的查询仍然返回 200,因此仅检查状态码的客户端将完全忽略字段级错误;必须检查每个响应中的错误数组。这种灵活性也意味着单个查询可能非常耗费资源,这就是为什么生产服务器会限制查询深度和复杂度的原因。

点击这里试试

POST https://funapi.dev/graphql会对 Friends 角色执行查询和变更操作,GraphiQL 浏览器位于同一 URL;Friends API 文档页面也会在“试用”面板中以 POST /graphql方式运行它。

资料来源

其他术语

阅读英文版

所有术语 · 测试技巧 · 全部 39 个模拟 REST API

最后更新时间