当前位置:首页 > 科技  > 软件

构建 Web API 的两种流行选择:REST vs GraphQL

来源: 责编: 时间:2024-01-10 09:36:20 400观看
导读简介RESTful 和 GraphQL API 是构建 Web API 的两种流行选择,各有其优势和劣势。让我们更近距离地了解一下 RESTful 和 GraphQL API,它们的区别,以及在何时选择其中一种。RESTful API 已经存在了一段时间,并且通常被广泛

简介

RESTful 和 GraphQL API 是构建 Web API 的两种流行选择,各有其优势和劣势。让我们更近距离地了解一下 RESTful 和 GraphQL API,它们的区别,以及在何时选择其中一种。XTy28资讯网——每日最新资讯28at.com

RESTful API 已经存在了一段时间,并且通常被广泛使用,而 GraphQL 是近年来变得流行的较新技术。XTy28资讯网——每日最新资讯28at.com

XTy28资讯网——每日最新资讯28at.com

第一部分:什么是 RESTful API?

RESTful API 遵循一组规则和约束,规定了 API 应该如何设计。XTy28资讯网——每日最新资讯28at.com

1.使用标准的 HTTP 方法

它们使用标准的 HTTP 方法,例如 GET、POST、PUT、PATCH 和 DELETE,对资源执行操作,数据通常以 JSON 格式 返回。XTy28资讯网——每日最新资讯28at.com

XTy28资讯网——每日最新资讯28at.com

2.是无状态的

RESTful API 是无状态的,这意味着服务器不会在请求之间存储任何客户端上下文。相反,每个请求都包含服务器处理所需的所有信息。这使得 RESTful Web 服务高度可伸缩,因为它们可以处理大量请求而无需为会话管理负担。XTy28资讯网——每日最新资讯28at.com

XTy28资讯网——每日最新资讯28at.com

3.具有 URL 约定

RESTful URL 命名约定 的主要原则之一是在 URL 路径中使用名词而不是动词。例如,不适合使用 /get-user-profile 这样的 URL,更适合使用 /users/{user_id}/profile。该 URL 使用名词 users 表示用户资源的集合,并使用路径参数 user_id 来标识要访问的特定用户资源。XTy28资讯网——每日最新资讯28at.com

XTy28资讯网——每日最新资讯28at.com

第二部分:什么是 GraphQL?

GraphQL 是一个用于 API 的 查询语言,允许客户端定义其需要的数据的形状和结构。使用 GraphQL,客户端可以向服务器发出单个请求,并准确获取它们要求的数据,而没有其他多余的数据。XTy28资讯网——每日最新资讯28at.com

1.提供单个端点

与 RESTful API 不同,GraphQL 提供一个 单个端点,通常是 /graphql,它始终接受 POST 请求。客户端向此端点发送单个请求,服务器将根据通过请求体发送的查询或变更响应请求的数据。XTy28资讯网——每日最新资讯28at.com

XTy28资讯网——每日最新资讯28at.com

这种方法使得管理和版本化 API 变得容易,因为所有更改都可以在一个地方进行。XTy28资讯网——每日最新资讯28at.com

2.是无状态的

GraphQL API 也是无状态的,服务器不存储任何客户端数据,每个请求都包含请求查询中的所有信息。XTy28资讯网——每日最新资讯28at.com

XTy28资讯网——每日最新资讯28at.com

第三部分:比较 RESTful 和 GraphQL API

RESTful 和 GraphQL API 在设计和查询 API 方面采用不同的方法。让我们根据一些关键因素进行比较:XTy28资讯网——每日最新资讯28at.com

1.数据获取

RESTful API 遵循严格的请求-响应循环,其中来自客户端的每个请求都导致服务器的单个响应。这意味着客户端通常需要进行多个请求,从服务器获取相关数据,从而导致过度获取或不足获取数据。XTy28资讯网——每日最新资讯28at.com

GraphQL 相反,允许客户端仅请求他们需要的数据,而不是其他多余的数据。客户端可以指定他们需要的数据的结构,服务器会准确返回该数据,减少 过度获取 和 不足获取 数据。XTy28资讯网——每日最新资讯28at.com

XTy28资讯网——每日最新资讯28at.com

2.模式定义

在 RESTful APIs 中,服务器定义数据模式,客户端需要解析返回的数据以理解模式。这可能导致客户端和服务器之间的耦合,因为服务器上的模式更改需要在客户端上进行相应的更改。XTy28资讯网——每日最新资讯28at.com

GraphQL 相反,具有强类型模式,定义了 API 中可用的数据。客户端可以使用此模式验证其查询并理解它们接收到的数据,减少客户端和服务器之间的耦合。XTy28资讯网——每日最新资讯28at.com

XTy28资讯网——每日最新资讯28at.com

3.缓存

RESTful API 使用 HTTP 缓存头 具有 内建的缓存机制。这允许客户端缓存响应并避免向服务器发出不必要的请求。XTy28资讯网——每日最新资讯28at.com

GraphQL 没有内建的缓存机制,但 客户端可以使用第三方库实现缓存策略。XTy28资讯网——每日最新资讯28at.com

XTy28资讯网——每日最新资讯28at.com

4.性能

RESTful API 在客户端需要多次请求相关数据时可能遇到性能问题。这可能导致增加的延迟和网络流量。XTy28资讯网——每日最新资讯28at.com

GraphQL 通过**在单个:XTy28资讯网——每日最新资讯28at.com

请求中仅获取所需数据**,可以提高性能并减少网络流量。但是,如果不小心,优化不良的查询可能会导致更多性能问题,并严重影响服务器。从这个角度来看,GraphQL 的最大优势也可能是它的最大劣势。XTy28资讯网——每日最新资讯28at.com

XTy28资讯网——每日最新资讯28at.com

第四部分:你应该选择哪个?

在 RESTful 和 GraphQL API 之间的选择取决于您的具体用例。RESTful API 适用于需要高可伸缩性的简单应用程序,而 GraphQL 则适用于具有不同数据需求的复杂应用程序。XTy28资讯网——每日最新资讯28at.com

RESTful 和 GraphQL API 都有各自的优势和劣势。请记住,在两者之间进行选择并不总是二选一的情况,有时混合使用可能是最佳选择。XTy28资讯网——每日最新资讯28at.com

资源

  • GraphQL 文档:https://graphql.org/
  • 什么是 RESTful API:https://aws.amazon.com/what-is/restful-api/

本文链接:http://www.28at.com/showinfo-26-59687-0.html构建 Web API 的两种流行选择:REST vs GraphQL

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 指针变量在C/C++中的内存占用

下一篇: 为什么 Netflix 从大单体演进到联合网关?

标签:
  • 热门焦点
  • 8月总票房已突破10亿!《封神》第一:口碑已经成了

    8月5日消息,据灯塔专业版数据,截至8月5日9时35分,8月总票房(含预售)已突破10亿。其中,《封神》以大比分的优势领先。根据官方消息,目前该片总票房已经超过14.
  • JavaScript 混淆及反混淆代码工具

    介绍在我们开始学习反混淆之前,我们首先要了解一下代码混淆。如果不了解代码是如何混淆的,我们可能无法成功对代码进行反混淆,尤其是使用自定义混淆器对其进行混淆时。什么是混
  • 如何使用JavaScript创建一只图像放大镜?

    译者 | 布加迪审校 | 重楼如果您曾经浏览过购物网站,可能遇到过图像放大功能。它可以让您放大图像的特定区域,以便浏览。结合这个小小的重要功能可以大大改善您网站的用户体验
  • 慕岩炮轰抖音,百合网今何在?

    来源:价值研究所 作者:Hernanderz“难道就因为自己的一个产品牛逼了,从客服到总裁,都不愿意正视自己产品和运营上的问题,选择逃避了吗?”这一番话,出自百合网联合创
  • 自律,给不了Keep自由!

    来源 | 互联网品牌官作者 | 李大为编排 | 又耳 审核 | 谷晓辉自律能不能给用户自由暂时不好说,但大概率不能给Keep自由。近日,全球最大的在线健身平台Keep正式登陆港交所,努力
  • 携众多高端产品亮相ChinaJoy,小米带来一场科技与人文的视听盛宴

    7月28日,全球数字娱乐领域最具知名度与影响力的年度盛会中国国际数码互动娱乐展览会(简称ChinaJoy)在上海新国际博览中心盛大开幕。作为全球领先的科
  • iQOO 11S新品发布会

    iQOO将在7月4日19:00举行新品发布会,推出杭州亚运会电竞赛事官方用机iQOO 11S。
  • 超级标准版旗舰!iQOO 11S全球首发iQOO超算独显芯片

    上半年已接近尾声,截至目前各大品牌旗下的顶级旗舰都已悉数亮相,而下半年即将推出的顶级旗舰已经成为了数码圈爆料的主流,其中就包括全新的iQOO 11S系
  • 利用职权私自解除被封帐号 Meta开除20多名员工

    11月18日消息,据外媒援引知情人士表示,过去一年时间内,Facebook母公司Meta解雇或处罚了20多名员工以及合同工,指控这些人通过内部系统以不当方式重置用户帐号,其
Top