概念:GraphQL 是一种用于 API 的查询语言,同时也是一个满足这些查询的运行时。与传统的 REST API 不同,GraphQL 允许客户端精确地指定他们需要的数据,而服务器则返回客户端所请求的精确数据结构。它提供了一种统一的方式来查询和修改数据,无论数据来源是数据库、微服务还是其他数据源。
优势:
减少数据冗余:客户端可以按需请求数据,避免了 REST API 中常见的过度获取(获取过多不必要的数据)或不足获取(需要多次请求才能获取完整数据)的问题。例如,在一个博客应用中,客户端如果只需要文章的标题和摘要,使用 GraphQL 可以只请求这两个字段,而 REST API 可能会返回整个文章对象,包含许多客户端不需要的字段。