GraphQL 客户端应该使用哪种 Http 方法?

Posted

技术标签:

【中文标题】GraphQL 客户端应该使用哪种 Http 方法?【英文标题】:Which Http method should GraphQL Client's use? 【发布时间】:2020-01-08 12:44:17 【问题描述】:

我可以通过邮递员使用 Http POST 方法访问我的应用程序的 graphql api。 但是无法通过 graphql Web 客户端访问相同的 url (http://localhost:8080/rest/api) - https://www.graphqlbin.com/v2/6RQ6TM。 我看到的错误信息如下。

"error": "未能获取架构。请检查您的连接"

所以我想知道网络客户端是否正在尝试通过任何其他 Http 方法(如 PUT 等)访问 graphql api。有人可以指导我为什么遇到这个问题。

【问题讨论】:

任何人,知道为什么会出现错误。更新:就像Ken 澄清的那样,我的 api 正在使用 POST 方法,正如 graphqlbin 客户端所期望的那样 发现了这个:github.com/prisma/graphql-playground/issues/877 但没什么用 【参考方案1】:

您是指https://www.graphqlbin.com/ 的 GraphQL 客户端?它使用POST 将请求发送到GraphQL API,您可以使用浏览器提供的网络inspector 进行验证。

GraphQL 规范本身并没有定义任何关于如何公开 API 以让外部客户端访问的要求。由各个 GraphQL 服务器实现来选择他们的方式。正如official guideline 所建议的那样,几乎所有的实现都将简单地使用 HTTP 并支持 POST 和 GET 方法。

【讨论】:

发送确认。现在我发现我遇到了一个更大的问题......弄清楚为什么 webclient 无法连接到 api。 ???

以上是关于GraphQL 客户端应该使用哪种 Http 方法?的主要内容,如果未能解决你的问题,请参考以下文章

哪种方法更快,表示:服务器端渲染与客户端渲染

在 ARKit 上应该使用哪种方法来实现最准确的世界追踪体验?

使用 express-graphql 和 HTTP 客户端从 graphql 获取数据

使用护照 + JWT 或会话保护 GraphQL API? (举例)

我应该订购 GraphQL 结果服务器端还是客户端?

我应该为我的 API 使用哪种身份验证策略?