GraphQL 是无状态的吗?
Is GraphQL stateless?
出于好奇,我开始阅读有关 GraphQL 的内容。根据 this article 上的样本,看起来像是 REST API 向我提出的请求。它是无状态的吗?意味着它没有请求,服务器没有响应?如果是,那么它为什么比 REST 更轻便?API?
GraphQL 通常被称为比 REST 更高效,因为它允许客户端在一个请求中请求多个资源,这节省了往返行程,并且还允许客户端过滤到他们实际需要的字段。所以在一天结束时,完成请求的方式看起来很相似,但是更强大的查询语言允许客户端准确地获得他们需要的数据,而不是更多。
是的,它和 REST 一样是无状态的。事实上,有些人可能会说 GraphQL 满足了 REST 描述的许多原始要求。
Is it stateless?
是的,只要服务器不需要任何客户端状态知识即可正确解释请求;所有必要的信息都包含在请求本身中(headers 和 body)。
It looks like REST API request to me.
可能不会。它在超媒体约束上完全失败(规范缺少对链接的任何引用,这是一个很大的暗示)。在"resources"上有点糊涂了。
HTTP is commonly associated with REST, which uses "resources" as its core concept. In contrast, GraphQL's conceptual model is an entity graph. As a result, entities in GraphQL are not identified by URLs.
因此,您将获得许多不同的 URI,这些 URI 指向实体图的不同子集的表示形式,并且单个 URI 用于图的所有修改。在统一接口的背后,这些"resources"都将使用单一路由实现。
REST is an architectural style, "chosen for the properties they induce on candidate architectures." GraphQL 似乎对一组不同的属性感兴趣;也就是说他们正在尝试解决不同类型的问题。
出于好奇,我开始阅读有关 GraphQL 的内容。根据 this article 上的样本,看起来像是 REST API 向我提出的请求。它是无状态的吗?意味着它没有请求,服务器没有响应?如果是,那么它为什么比 REST 更轻便?API?
GraphQL 通常被称为比 REST 更高效,因为它允许客户端在一个请求中请求多个资源,这节省了往返行程,并且还允许客户端过滤到他们实际需要的字段。所以在一天结束时,完成请求的方式看起来很相似,但是更强大的查询语言允许客户端准确地获得他们需要的数据,而不是更多。
是的,它和 REST 一样是无状态的。事实上,有些人可能会说 GraphQL 满足了 REST 描述的许多原始要求。
Is it stateless?
是的,只要服务器不需要任何客户端状态知识即可正确解释请求;所有必要的信息都包含在请求本身中(headers 和 body)。
It looks like REST API request to me.
可能不会。它在超媒体约束上完全失败(规范缺少对链接的任何引用,这是一个很大的暗示)。在"resources"上有点糊涂了。
HTTP is commonly associated with REST, which uses "resources" as its core concept. In contrast, GraphQL's conceptual model is an entity graph. As a result, entities in GraphQL are not identified by URLs.
因此,您将获得许多不同的 URI,这些 URI 指向实体图的不同子集的表示形式,并且单个 URI 用于图的所有修改。在统一接口的背后,这些"resources"都将使用单一路由实现。
REST is an architectural style, "chosen for the properties they induce on candidate architectures." GraphQL 似乎对一组不同的属性感兴趣;也就是说他们正在尝试解决不同类型的问题。