压缩 GraphQL 查询?
Posted
技术标签:
【中文标题】压缩 GraphQL 查询?【英文标题】:Compress GraphQL Query? 【发布时间】:2018-03-14 19:29:30 【问题描述】:我正在寻找一种标准方法来压缩 GraphQL 查询/响应以通过 MQTT 发送它。
我在想一些可以:
删除多余的空格 删除多余的新行(\n
、\r
);
压缩消息(zlib?)
我查看了用于 Python 的 Graphene 和其他 GraphQL 模块,但我还没有找到我想要的东西。
是否有我遗漏的术语或者这是我不应该做的事情?
【问题讨论】:
谢天谢地,这可能与通过 AJAX 压缩任何 JSON 没有什么不同。 【参考方案1】:我能想到的用 Python 压缩 GraphQL 查询的最简单方法是:
import shlex
query_with_strings = """
query someQuery
Field(
search: "string with spaces"
)
foo
"""
def compress_graphql(q):
"""Compress a GraphQL query by removing unnecessary whitespace.
>>> compress_graphql(query_with_strings)
u'query someQuery Field( search: "string with spaces" ) foo '
"""
return u' '.join(shlex.split(q, posix=False))
这假定所有查询都已经是 unicode
(Python 2) 或 str
(Python 3) 对象。
运行 doctest 将通过。
【讨论】:
以上是关于压缩 GraphQL 查询?的主要内容,如果未能解决你的问题,请参考以下文章
GraphQL介绍&使用nestjs构建GraphQL查询服务
Graphql 突变查询不适用于 express-graphql
当我从 Angular 传递 graphql 查询时,为啥 GraphQL 控制器中的参数查询为空?
《GraphQL 名词 101:解析 GraphQL 的查询语法》译