1. GraphQL 与 REST 的选型边界,字段级查询、客户端驱动与服务端资源模型
GraphQL 与 REST 的选型边界:字段级查询、客户端驱动与服务端资源模型如何权衡?
- 字段级查询
- 客户端驱动
- 资源模型
GraphQL 与 REST 选型边界:GraphQL 支持字段级查询(客户端按需选择字段,避免过度/不足获取)、客户端驱动(客户端决定查询结构,声明式描述数据需求)、单一端点(POST /graphql),适合复杂嵌套数据、多端复用、字段粒度需求强的场景。REST 基于资源模型(URL 表示资源、方法表示操作),服务端驱动(服务端定义资源与字段),天然支持缓存、幂等、HTTP 语义,适合资源化、公开、可缓存接口。选型:字段级需求强、客户端多样、嵌套复杂用 GraphQL;资源化、可缓存、需 HTTP 语义用 REST。边界是"客户端驱动 vs 服务端资源模型"。
GraphQL 客户端驱动、字段级查询适合复杂嵌套;REST 服务端资源模型、HTTP 语义适合公开可缓存。按需求驱动方式选型。