我只是稍微玩了一下graphql,还不能识别graphql和REST的嵌入和部分响应之间的区别。
部分响应被TeamCity使用多年,它作为"Restful"服务工作
https://github.com/dotarj/PartialResponse http://v2.wp-api.org/reference/links.htmlREST是一种架构风格,而不是格式或查询语言(像GraphQL那样)。构建一个支持部分资源或资源层次结构的API是可能的(其他示例包括JSON patch或JSON Graph),但这些方法不是REST的概念部分。另一方面,它们是GraphQL的概念部分。您选择的示例与GraphQL有一些相似之处,但这并不是因为它们是RESTful服务。
另一方面,REST基于一些不符合GraphQL的方法(反之亦然)。一个不完整的列表包括:- HTTP是REST的一个构建块。GraphQL规范提到了"客户端"one_answers"服务器",但我没有读到它需要 HTTP。
- REST基于HTTP动词。因为看起来GraphQL不需要HTTP,所以它不需要HTTP动词。无论如何,这是行不通的,因为GraphQL允许您在一个查询中混合操作:您可以在一个请求中执行一个突变和一个查询—这将不兼容rest,因为查询必须是GET,而突变必须是POST或PUT。
- GraphQL中缺少HTTP状态码的语义