Apollo Graphql 界面 - 从查询中创建可共享的 URL

Posted

技术标签:

【中文标题】Apollo Graphql 界面 - 从查询中创建可共享的 URL【英文标题】:Apollo Graphql interface - create sharable URL from query 【发布时间】:2021-02-07 22:09:48 【问题描述】:

我有一个在 Node.JS 上使用 Apollo 引擎构建的 GraphQL API,该 API 包括一个指向 graphql 操场的 /graphiql 端点,我可以在其中生成如下示例的查询:

query 
  canonical(ref: "") 
    id
  

我的问题是:如何生成包含上述查询的可共享 URL。 (例如:htttp://gql-endpoint.com/graphiql?query=...

这样做的动机是生成 URL,根据请求打开 graphiql 界面并将查询与响应并排显示。

感谢您的帮助。

【问题讨论】:

【参考方案1】:

事实证明,实际上有一个非常简单的解决方案: 您可以在图形界面中按原样复制查询,并将其添加到?query=查询字符串参数中

例如,给定端点http://gql-endpoint.com/graphiql,查询将如下所示:

http://gql-endpoint.com/graphiql?query=COPY_PASTE_YOUR_QUERY_HERE.

使用上面的例子,这看起来像:

http://gql-endpoint.com/graphiql?query=query 
  canonical(ref: "") 
    id
  

当在浏览器上使用时,会产生一个转义的 URL,类似于:

http://gql-endpoint.com/graphiql?query=query%20%20canonical(ref:%20%22%22)%20%20id%20%20

【讨论】:

以上是关于Apollo Graphql 界面 - 从查询中创建可共享的 URL的主要内容,如果未能解决你的问题,请参考以下文章

angular, apollo-client, graphQL - 从 graphql 查询中选择所有字段

如何使用 apollo 服务器从变量运行 graphql 查询

React Apollo:从组件状态动态更新 GraphQL 查询

尝试使用在 react、graphql 和 apollo 中创建的服务器保存记录时出错

无法将 GraphQL 查询从 Apollo 客户端发送到 Rails GraphQL 后端

GraphQL/Apollo 客户端:如果查询是先前查询的子集,则从缓存中获取数据