GraphQL 优于 REST?

用户3198603

我在 google 上看到了很多关于 GraphQL over REST 的辩论/讨论。但我的观点 - GraphQL 端点本身不是一个 Rest 端点和控制器吗?这似乎可以从这个GraphQL 教程视频中给出的示例中得到验证(参见 23m 或 9.30m)。那么不是 graphql 也通过 REST 提供服务吗?我看到这个例子中使用的动词是 POST(32:30 m) 而不是动词 Query 或 mutuation 。QueryMutation不是强制性的?

另外,rest 查询需要是 JSON 字符串还是它有自己的语法或两者都支持?

陈健

GraphQL 规范只定义了一种查询语言来获取数据。它没有定义外部客户端如何通过 Internet 访问 GraphQL 服务。由服务器实现决定使用哪种协议。几乎所有服务器都会选择使用 HTTP。

所以最后,你仍然需要实现一个 HTTP 端点才能接收 GraphQL 查询。然后,该 HTTP 端点将接收到的 GraphQL 查询传递给 GraphQL 引擎以进行处理并将结果返回给客户端。该 youtube 视频中的作者只是表明他选择使用@RestController. 在 Java world 中,如果您不想自己推出,您可以简单地将thisthis用于 GraphQL 端点。

@RestController如果您不是基于 REST 原则实现 HTTP 端点,则使用它并不意味着它是 REST 服务。遵循相同的逻辑,@RestController用于实现 GraphQL 端点并不意味着 GraphQL 是 REST 。此外,在 GraphQL 世界中,所有资源只有一个端点,这与 REST 完全不同,而每个资源都有自己的端点。

Query 或 Mutation 不是强制性的吗?

对于 Mutation ,这个词Mutation是强制性的。如果没有QueryMutation,则将其视为Query

另外,rest 查询需要是 JSON 字符串还是它有自己的语法或两者都支持?

查询不是 JSON 。它是 GraphQL 查询,其语法在 GraphQL 规范中定义。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

GraphQL 和 Fieldings REST 约束

来自分类Dev

在 REST / GraphQL 中验证 Firebase Facebook 令牌

来自分类Dev

UDP优于TCP的优势?

来自分类Dev

定义优于租用的优势

来自分类Dev

getPost优于$ _POST的优势

来自分类Dev

约定优于配置

来自分类Dev

getPost优于$ _POST的优势

来自分类Dev

RNN优于DNN的预测

来自分类Dev

什么使JIRA优于Redmine

来自分类Dev

组合优于继承

来自分类Dev

GraphQL和Rest API有什么区别

来自分类Dev

类似于 REST 但也使用像 GraphQL 这样的突变的 API?

来自分类Dev

PRISMA:如何接收 REST API 发布请求(非 GraphQL)?

来自分类Dev

SVGKit的性能,是否应该优于PNG?

来自分类Dev

什么是使EAVT索引优于EATV的用例?

来自分类Dev

ember-cli优于grunt / Yeoman的优势

来自分类Dev

gdm3优于lightdm吗?

来自分类Dev

标签分发优于常规过载解析的优势

来自分类Dev

优于O(log(N))以2为底

来自分类Dev

Java EE 7:@ Produces / @ Inject优于@EJB?

来自分类Dev

Spring中JavaConfig优于XML配置的好处?

来自分类Dev

边缘检测方法优于Canny边缘检测

来自分类Dev

为什么Scala匹配优于if语句?

来自分类Dev

在JavaScript中,instanceof Array是否优于isArray?

来自分类Dev

Angular UIRouter优于ng-include吗?

来自分类Dev

DOM级别2优于DOM级别0?

来自分类Dev

Boost :: graph(C ++)优于NetworkX(Python)

来自分类Dev

Ray Marching优于栅格化的优势

来自分类Dev

使用TextureArray优于纹理数组的性能优势?