
功能:
Persisted Queries
Persisted Queries
REST API 需要创建多个端点,每个端点返回预定义的数据集。而 GraphQL API 则不同,它只需向单一端点发送任意 query,即可精确返回所请求的数据。
Persisted queries 是普通的 GraphQL queries,但它们存储在服务器上,并通过专属 URL 进行访问,从而模拟 REST 端点。它们兼具两种 API 的优势,同时规避各自的不足:
| 优势 | 不足 |
|---|---|
✅ 可通过 GET 或 POST 访问 | POST 访问 |
| ✅ 可在服务器或 CDN 上缓存 | |
| ✅ 安全:仅公开预期数据 | |
| ✅ 数据获取无多无少,一次请求即可取回全部数据 | |
| ✅ 支持项目快速迭代 | |
| ✅ 可自我文档化 | |
| ✅ 为客户端提供创建和发布 query 的能力 |
