gpt4 book ai didi

rest - "Rest"API 和 "Graph"API 有什么区别

转载 作者:行者123 更新时间:2023-12-01 11:18:06 24 4
gpt4 key购买 nike

我正在 Azure AD B2C 中创建一个 API 项目,我想在其中创建自定义 UI。对于这个需求,我想知道“Rest”API 和“Graph”API 哪个更好。

谁能给我建议一下,哪个更好用?

最佳答案

而 GraphQL 是 often mentioned as the replacement for REST ,两者实际上解决不同的问题。

首先,REST 不是一种协议(protocol),而只是一种风格,如果应用正确,它只会将客户端与服务器解耦。因此,遵循 REST 原则的服务器将为客户端提供采取进一步步骤所需的任何信息。客户端最初在没有任何先验知识的情况下启动,并通过发出请求和处理响应来动态学习。

虽然 REST 与协议(protocol)无关,这意味着它可以构建在许多协议(protocol)之上,但 HTTP 可能是最突出的一个。 RESTful 客户端的一个常见示例是我们都熟悉的 Web 浏览器。它将首先调用带有书签的 URI 或调用在地址栏中输入的 URI,然后从那里开始进行。

HTTP 不指定请求或响应必须发送的表示形式,而是将其留给客户端和服务器进行协商。这有助于解耦,因为客户端和服务器都可以依赖于通用接口(interface) (HTTP),并且只能强绑定(bind)到用于交换数据的已知媒体类型。对等方无法以某种表示形式处理文档(由于缺乏相应的 mime 类型支持)将通过相应的错误消息指示他的其他对等点。因此,媒体类型只是数据负载的语法和语义的人类可读文档,因此是 REST 架构中最重要的部分。它教同行如何解析和解释接收到的有效负载,并真正理解它,尽管很多人仍然将 REST 与基于 JSON 的 HTTP API 与过度设计的 URI 混淆,他们付出了很大的努力来为 URI 提供一些信息。实际上客户端和服务器都不会解释它,因为它们可能会使用为 URI 指定的链接关系名称,这是一种逻辑意义。

另一方面,GraphQL 是一种查询语言,它使客户端能够请求它想要从服务器检索的特定字段和元素。宽泛地说,它是某种用于 Web 的 SQL。因此,它必须事先了解可用数据,以某种方式将客户端耦合到服务器。如果服务器重命名某些字段,客户端可能无法进一步检索此类信息,尽管我不是 GraphQL 专家。

如上所述,REST 经常与基于 JSON 的 HTTP API 混淆,该 API 允许对直接映射的数据库条目/实体执行查询。请记住,REST 并不禁止这样做,尽管它的重点是对等点的解耦,而不是某些 Web 公开的数据库条目的检索方面。

关于rest - "Rest"API 和 "Graph"API 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48022349/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com