首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用GET从基于GraphQL的API获取JSON是不可能的?

从技术角度来看,用GET从基于GraphQL的API获取JSON是可能的。GraphQL是一种用于API的查询语言和运行时环境,它允许客户端精确地指定需要的数据,并返回一个包含所需数据的JSON响应。虽然GraphQL的主要查询方式是使用POST请求,但它也支持使用GET请求。

使用GET请求从基于GraphQL的API获取JSON的步骤如下:

  1. 构建GraphQL查询语句:使用GraphQL查询语言编写查询语句,指定需要的数据字段和相关参数。
  2. 将查询语句编码为URL参数:将查询语句进行URL编码,并作为查询参数的值添加到GET请求的URL中。
  3. 发送GET请求:使用HTTP库或浏览器发送GET请求,将编码后的查询语句作为URL参数传递给API服务器。
  4. 解析响应:接收到API服务器返回的JSON响应后,解析响应数据,提取所需的数据字段。

虽然使用GET请求从基于GraphQL的API获取JSON是可能的,但这种方式并不是GraphQL的推荐用法。由于GraphQL的灵活性和强大的查询能力,使用POST请求更为常见,因为它可以更好地支持复杂的查询和变更操作。

腾讯云提供了云原生应用开发平台Tencent Cloud Native,其中包括了GraphQL的支持。您可以通过Tencent Cloud Native来构建和部署基于GraphQL的API,并使用腾讯云的其他产品和服务来支持您的应用开发需求。详情请参考:Tencent Cloud Native产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用 GraphQL 和 Ballerina 操作多个数据源

GraphQL 对网络层或消息体的格式没有特别要求,不过最常用的一般是 HTTP 和 JSON。...避免过度获取或获取不足 过度获取意味着获取的信息超过了你的需要。这在使用 REST 时非常常见,因为它总是从给定的端点返回固定的数据集,而客户端实际上具有特定的数据需求。...支持基于模式和类型系统的开发方式 GraphQL 有一个强大的类型系统,可用于定义通过 API 公开出来的数据,所有这些类型都可以使用 GraphQL 模式定义语言(SDL)写到模式中。...在创建所需的记录之前,需要分析一下根据指定 ISBN 从 Google Books API 获取的的 JSON 响应消息的格式。它返回一个 JSON 对象,其中包含了一个“items”的数组。...你可以看到这里的一些评级是“null”,因为 Google Books API 调用返回的一些 JSON 响应没有包含这些信息。

2.4K20

安息吧 REST API,GraphQL 长存

这就是为什么我们不能仅有一个 GraphQL 的服务器,我们还需要实现一个翻译运行时。 这个抽象层可以用任意语言编写,它定义了一个通用的基于图形的模式来发布它所代表的数据服务的功能。...例如,READ REST API 端点可能是 GET /ResouceName - 从该资源获取所有记录的列表; GET /ResourceName/ResourceID - 获取该 ID 标识的单条记录...它们当然不是 REST API 的所有问题,我也不想讨论 REST API 是什么。我主要讨论的是比较流行的基于资源的 HTTP 端点 API。...这种声明性创造了一个关于使用 GraphQL 语言的内在模型,它接近于我们用英语考虑数据需求的方式,并且它让使用 GraphQL API 比备选方案(REST API)容易得多。...": [1, 2, 3, 6], *** 其他我们暂不需要的信息 *** } 然后为了获取星球的名称,我们再请求: GET - /planets/1 然后为了获取电影名,我们发出请求: GET -

2.7K30
  • 干货 | 万字长文全面解析GraphQL,携程微服务背景下的前后端数据交互方案

    只不过它用的是更复杂的 JSON 来描述查询字段,而 GraphQL 用更简洁的查询语句,完成同样的目的。...而 JSON 是一个 key-value pair 风格的数据表示,因此可以从结果倒推出查询语句。 ? 上图是一个查询结果。很显然,它的查询语句不可能包含 value 部分。...符合这种结构的数据太多了,不可能把整个数据库都查询出来。我们还需要设计参数传递的方式,以便能缩小数据范围。 ? 上图是一个自然而然的做法。用括号表示函数调用,里面可以添加参数,可谓经典的设计。...4.5 GraphQL 不一定返回 JSON 数据格式 这是另一个有趣的事实。最初我们演示了,如何基于 JSON 数据结果,反推出 GraphQL 查询语法的设计。...放到 Facebook 的社交网络场景下,其必要性和价值就凸显了。 假设我们要一次性获取用户的好友的好友的好友的好友的好友,基于 RESTful API 我们有什么特别好的方法吗?很难说。

    3.8K21

    GraphQL-BFF:微服务背景下的前后端数据交互方案

    只不过它用的是更复杂的 JSON 来描述查询字段,而 GraphQL 用更简洁的查询语句,完成同样的目的。...而 JSON 是一个 key-value pair 风格的数据表示,因此可以从结果倒推出查询语句。 ? 上图是一个查询结果。很显然,它的查询语句不可能包含 value 部分。...符合这种结构的数据太多了,不可能把整个数据库都查询出来。我们还需要设计参数传递的方式,以便能缩小数据范围。 ? 上图是一个自然而然的做法。用括号表示函数调用,里面可以添加参数,可谓经典的设计。...[4.5] GraphQL 不一定返回 JSON 数据格式 这是另一个有趣的事实。最初我们演示了,如何基于 JSON 数据结果,反推出 GraphQL 查询语法的设计。...放到 Facebook 的社交网络场景下,其必要性和价值就凸显了。 假设我们要一次性获取用户的好友的好友的好友的好友的好友,基于 RESTful API 我们有什么特别好的方法吗?很难说。

    3.8K72

    GraphQL-BFF:微服务背景下的前后端数据交互方案

    只不过它用的是更复杂的 JSON 来描述查询字段,而 GraphQL 用更简洁的查询语句,完成同样的目的。...而 JSON 是一个 key-value pair 风格的数据表示,因此可以从结果倒推出查询语句。 ? 上图是一个查询结果。很显然,它的查询语句不可能包含 value 部分。...符合这种结构的数据太多了,不可能把整个数据库都查询出来。我们还需要设计参数传递的方式,以便能缩小数据范围。 ? 上图是一个自然而然的做法。用括号表示函数调用,里面可以添加参数,可谓经典的设计。...[4.5] GraphQL 不一定返回 JSON 数据格式 这是另一个有趣的事实。最初我们演示了,如何基于 JSON 数据结果,反推出 GraphQL 查询语法的设计。...放到 Facebook 的社交网络场景下,其必要性和价值就凸显了。 假设我们要一次性获取用户的好友的好友的好友的好友的好友,基于 RESTful API 我们有什么特别好的方法吗?很难说。

    1.6K20

    如何在纯 JavaScript 中使用 GraphQL

    这是因为许多教程和示例代码似乎都基于这样一个假设,也就是说如果你在使用 GraphQL,就需要使用这些库。 但是,一个对 GraphQL API 的查询只不过是一个定制格式的 HTTP 请求而已。...在这篇教程中,我想采用一种不一样的方法,并向你展示从 Node 和客户端 JavaScript(不带库)调用 GraphQL API 实际上有多么容易。...尽管 GraphQL 可以响应 GET 请求,但是一个典型的 GraphQL HTTP 请求是作为一个 POST 请求发送的。...其次,更重要的是我无法访问环境变量。需要强调的是,如果你的 API 需要传递某种 API 密钥或凭据,那么你不会希望在客户端执行这一操作,因为你的凭据将被公开。...更好的解决方案是调用一个可访问这些凭据的无服务器函数,然后为你调用 API 并返回结果。如果你的无服务器函数是用 JavaScript 编写的,则前面示例中的 Node 代码就会起作用。

    3.6K10

    GraphQL与OpenAPI:数据治理的优缺点

    服务器从 HTTP POST 或持久套接字(订阅)提供 HTTP JSON 负载。社区解决方案提供基于文件格式的负载和 gRPC 客户端。...商业 GraphQL JDBC 驱动程序支持基于 SQL 查询的请求。 OpenAPI OpenAPI 以JSON Schema为基础,并依赖于 HTTP REST。...响应自定义是专有的,因为 OpenAPI 标准中不存在此类概念。API 可以以任何格式定义其负载,因此 JSON 和文件格式负载都是可能的。...在受治理的环境中过度获取数据会增加监控和安全性的复杂性和成本,尤其是在受监管的环境中。 未来重点 为了评估 API 标准的可行性,请提出以下问题:该标准未来与以数据为中心的用例保持一致的可能性有多大?...自定义标量可以表示巨大数字、日期或特定用例(如科学计算)的地理解析坐标等概念。 OpenAPI OpenAPI 基于约定且可扩展性有限。

    13010

    Rust 和 Wasm 的融合,使用 yew 构建 web 前端(5)- 构建 HTTP 请求、与外部服务器通信的两种方法

    在系列文章第四部分《获取 GraphQL 数据并解析 》中,我们已经与 GraphQL 服务后端进行了数据交互,获取 GraphQL 数据并解析。...其中,我们直接使用的是 web-sys 库,需要获取当前的 window 对象,通过 window 对象的 Fetch API,对请求进行分发。...使用 web-sys 我们首先回忆一下前文中使用 web-sys 库获取 GraphQL 数据并解析的方法和过程。 构建请求 本文中,笔者使用的示例为构建一个 GraphQL 请求。...相比于其它非 GraphQL 请求,如仅获取数据的 REST API,稍显复杂一些。...本文是基于前述文章基础之上的,所以直接阅读仅能是概念上的了解。如果你希望对其践行,建议阅读系列文章。

    1.8K20

    API接口架构REST vs GraphQL

    无论是创建网站,还是移动应用程序,我们都需要通过 API 来传递数据,通过 API 我们可以获取到数据库中的数据,可以操作数据库,可以处理一些业务逻辑。现在最流行的 API 架构是 REST。...但是,GraphQL 正在逐渐追赶着它。 GraphQL 是一种新型的 API 架构,它比 REST 更灵活、更高效,并且具有声明式数据获取等功能。...然后一个 REST API 就完成了 GET/api/articles,它以 JSON 数组的形式返回所需的数据,如下例所示: // GET /articles [ { "id": 1, "title"...与 REST 不同,GraphQL 需要一个模式来告诉客户端和服务器通过 API 允许哪些数据和操作。这些是用 GraphQL 模式语言定义的,它是一种与语言无关的具有强大的类型系统的格式。...反过来,这意味着 GraphQL 本质上是自记录的。一旦字段、类型或查询发生更改,基于架构的文档可以自动更新。 没有版本控制的 API 每次应用更改时,API 可能也需要更改。

    1.6K30

    构建 Rust 异步 GraphQL 服务:基于 tide + async-graphql + mongodb(3)- 重构

    前 2 篇文章中,我们初始化搭建了工程结构,选择了必须的 crate,并成功构建了 GraphQL 查询服务:从 MongoDB 中获取了数据,并通过 GraphQL 查询,输出 json 数据。...配置信息的存储和获取 让我们设想正式生产环境的应用场景: 服务器地址和端口的变更可能; 服务功能升级,对用户暴露 API 地址的变更可能。...如 rest api,graphql api,以及版本升级; 服务站点密钥定时调整的可能; 服务站点安全调整,jwt、session/cookie 过期时间的变更可能。...或许上述第 4 点无需写入,但是文件存储到加密保护的物理地址,安全方面也有提升。 当然,实际的应用场景或许有更合适有优的解决方法,但我们先基于此思路来设计。...所以,需要创建 2 个文件:一个是模块标识文件,一个是将抽象出来共用的常量子模块。 cd ./src mkdir util touch ./util/mod.rs .

    97020

    一种不错的 BFF Microservice GraphQLREST API 层的开发方式

    HTTP Code 以获取更清蒸的 code 示例 API,模式以供参考 Sonar Qube 集成 Hystrix 熔断器支持 (使用 Brakes) 基于 JWT 的 API 安全性 - jsonwebtoken...已基于 apollo framework 和参考实现添加了 GraphQL 支持(包括来自 swapi.co 的 starwars api) 从 http://localhost:3000/playground...客户端 API 当我们构建基于 GraphQL 的服务器时,可能需要从其他下游基于 GraphQL 的 API 服务器获取数据。...验证中间件代码可以在这里查看 JWT Security GraphQL 基于 JWT 的安全性的演示实现已启用一个查询“示例”。下面是测试的步骤。...Compression 默认情况下,压缩是在服务器上启用的,并且基于压缩模块 配置详细信息位于 compression.ts 文件中 如果需要在不压缩的情况下获取响应,请在请求头中传递 x-no-compression

    2.4K10

    GraphQL,你准备好了么?

    假设 TubiTV 有一个 API,要获取系统中的某个用户,就 REST API 而言,其接口大概会是这样: GET /v1/users/1 然后其返回结果是: { "first": "Tyr",...尤其是对于手机客户端,任何多余的请求都会大大拖累用户体验。因此,这样的 API 往往会折衷一下: GET /v1/users/1/?...作为一个 API 的查询语言,GraphQL 从产品的角度出发,希望 API 足够灵活能处理复杂多变的用户场景。...注意事项 讲了很多 GraphQL 的好,接下来讲讲用 GraphQL 做 API 的注意事项。...REST API 里是不可能出现的,但在 GraphQL 中是合理的 query,而且不需要你写任何代码,查询器就会忠实地一次次执行你的 resolve 函数,直到把系统内存耗尽或者栈溢出。

    85460

    技术专题:API资产识别大揭秘(一)

    它和API从定义和作用上就有本质的区别。举个栗子:在此URL中,https是协议,http://www.example.com是域,/news/article123是指向网站上特定文章的路径。...GraphQL最常见的是通过 HTTP 来发送请求,那么如何通过 HTTP 来进行 GraphQL 通信呢?举个栗子,如何通过Get/Post方式来执行下面的GraphQL查询呢?...query { me { name }}获取简单的请求内容放在 URL 中,在content-type: application/json情况下发布,将 JSON 格式的内容放在请求体里:Get...我们以JSON格式的参数结构为例:如上图所示,简单来讲就是在获取到例一个json格式的API参数结构后,通过对参数进行分组,会将API参数解析为一个树状结构。...GraphQL作为一种用于API的查询语言,基于类型和字段的方式进行相关操作,这是一种类似于JSON的格式,可以看到下图左边部分。

    1K20

    挖洞经验 | 开放重定向漏洞导致的账户劫持

    GraphQL是一种API数据查询语言,很多大公司都用GraphQL API代替了 REST API。...在测试该网站的GraphQL API后,名为GetAuthorizedApps的变更请求吸引了我的注意,它的功能是用来连接第三方app应用以OAuth对账号进行验证。...目标网站使用REST和GraphQL方式来获取、更改和删除用户数据,而GraphQL有点类似REST API的代理,其可以向服务端不同的REST端点发起ssrf请求,以获取或更改相关数据,就比如以下GraphQL...以下是最终响应: 无法读取请求响应,原因在于服务端希望请求是JSON形式的。但尽管如此,我还是可以利用该方式探测到目标的内部网络架构,但最终漏洞危害也会仅限于中危而已。...另外,由于GraphQL端点是Apollo服务端,且支持如下GET请求: GET /graphql?query=query aTest(arg1: String!)

    1.9K20

    ASP.NET Core WebApi判断当前请求的API类型

    2.1 RESTful APIREST(Representational State Transfer)是一种基于 HTTP 协议的架构风格,它使用标准的 HTTP 方法(如 GET、POST、PUT、...特点:使用 HTTP 方法(GET、POST、PUT、DELETE 等)对资源进行操作。请求和响应的数据通常使用 JSON 或 XML 格式。不同的 URI 代表不同的资源。...2.2 GraphQL APIGraphQL 是 Facebook 提出的查询语言,它允许客户端指定所需要的数据结构,而服务器则返回精确的数据。...2.4 SOAP Web ServiceSOAP(Simple Object Access Protocol)是一种基于 XML 的协议,用于在网络上交换结构化的信息。...如何获取请求信息要判断当前请求属于哪种类型,我们需要从请求中提取相关信息。这些信息通常包括:3.1 请求的 HTTP 方法GET:用于获取资源。POST:用于创建资源。PUT:用于更新资源。

    1.8K00

    React 设计模式 0x6:数据获取

    也会将数据从应用程序提交到服务器以接收某种响应。有几种方法可以将此数据发送/获取到 API 或服务器,可以使用内置的 API 或外部 npm 包来实现。...GraphQL 是用于 API 的查询语言,也是用现有数据来满足这些查询的运行时。...向您的 API 发送 GraphQL 查询,只获取您所需的数据,没有多余的内容。...从 API 缓存的数据可以存储在我们的状态管理中,然后在我们的应用程序中全局使用。尽管数据被缓存,但在刷新页面时,它将丢失数据,需要重新获取。...它提供了许多有用的功能,如数据缓存、自动重试、请求取消和突变。 React Query 的目标是提供一个简单的 API,让数据获取和管理变得更加容易,并且可以与现有的代码库集成。

    1.2K20

    GraphQL是API的未来,但它并非银弹

    你不是必须首先将所有查询转换为 GET 请求吗?要是那样的话,你的 GraphQL 客户端和服务器是否很容易支持这一点? 在用户体验和开发易用性方面,显然 BFF 是赢家。...但是,GraphQL 模式是如何保证的呢? GraphQL 内省是向服务器发送一个特定的 GraphQL 查询以获取关于 GraphQL 模式的信息。...OAS 依赖于 JSON-Schema,它有一个了不起的特性:可以从另一个文档引用对象类型。你可以将 OAS 分割为多个文件,如果需要,这些文件之间可以相互引用。...GraphQL 为我们提供了一种与 Docker 一样简单的 API 定义和消费语言。如果你以前接触过 Javascript 和 JSON,那么马上就可以熟悉 GraphQL。...在这方面,与 REST 相比,GraphQL 并没有真正带来任何好处。与 RPC 一起,它在这个领域将会有一个很好的未来。另一方面,GraphQL 非常适合封装基于资源和 RPC 的 API。

    2K10

    REST API和GraphQL API的比较

    主体包含客户端想要传输到服务器的数据,例如请求的有效负载。 GraphQL API GraphQL 是一种用于 API 的查询语言,也是使用现有数据完成这些查询的运行时。...GraphQL 与 REST: GraphQL 和 REST API 之间的主要区别在于 GraphQL 是一种查询语言,而 REST 是一种基于网络的软件的架构概念。...在 GraphQL 架构中,客户端提交查询以获取数据。 典型场景 REST API 假设您有一个 API 来获取学生数据。...TLS 确保两个系统之间的数据传输是私密且未更改的。支持 JavaScript 对象表示法 (JSON) 的 Web 令牌完成 HTTP 身份验证过程,以便从 Web 浏览器安全传输数据。...为了避免数据获取不足和过度获取,灵活的样式定义了信息请求的结构,并从服务器返回相同的结构。 与 GraphQL 相比,REST API 具有严格的数据结构,可能首先返回不相关的信息(过度获取)。

    56210

    GraphQL 从入门到实践

    什么是 GraphQL GraphQL 是一种面向数据的 API 查询风格。...传统的 API 拿到的是前后端约定好的数据格式,GraphQL 对 API 中的数据提供了一套易于理解的完整描述,客户端能够准确地获得它需要的数据,没有任何冗余,也让 API 更容易地随着时间推移而演进...试想一下你都开发完了,产品告诉你要大改一番,从接口到组件结构都得改,后端也骂骂咧咧不愿配合让你从好几个 API 里取数据自己组合,这酸爽 ?...2.5 请求格式 GraphQL 最常见的是通过 HTTP 来发送请求,那么如何通过 HTTP 来进行 GraphQL 通信呢 举个栗子,如何通过 Get/Post 方式来执行下面的 GraphQL 查询呢...query { me { name } } Get 是将请求内容放在 URL 中,Post 是在 content-type: application/json 情况下,将 JSON 格式的内容放在请求体里

    2.5K31
    领券