GraphQL和嵌入之间的区别

时间:2016-10-29 14:35:48

标签: rest embedding graphql partial-response

我只是在使用graphql玩一点,并且还无法通过嵌入和部分响应来识别graphql和REST之间的区别。

部分响应由TeamCity使用多年,它作为“Restful”服务

https://github.com/dotarj/PartialResponse

http://v2.wp-api.org/reference/links.html

1 个答案:

答案 0 :(得分:2)

REST是一种架构风格,而不是格式或查询语言(如GraphQL)。可以构建支持部分资源或资源层次结构的API(其他示例包括JSON补丁或JSON图),但这些方法不是REST的概念部分。另一方面,他们 GraphQL的概念部分。您选择了与GraphQL有一些相似之处的示例,但这不是因为它们是RESTful服务。

另一方面,REST基于一些不符合GraphQL的方法(反之亦然)。不完整的清单包括:

  • HTTP是REST的构建块。 GraphQL规范提到“客户端”和“服务器”,但我没有读到它需要 HTTP。
  • REST基于HTTP谓词。由于GraphQL似乎不需要HTTP,因此它不需要HTTP谓词。无论如何,这不起作用,因为GraphQL允许您在一个查询中混合操作:您可以在一个请求中执行变异加查询 - 这与REST不兼容,因为查询必须是GET,而突变必须是POST或PUT。
  • GraphQL缺少HTTP状态代码的语义。