【发布时间】:2020-06-01 02:36:54
【问题描述】:
我正在尝试使用 GraphQL 实现批量查询接口。我可以毫无问题地获得同步工作的请求,但我不确定如何使结果异步。基本上,我希望能够启动查询并返回一个指向查询完成时结果最终会出现的位置的指针。我想这样做是因为查询有时可能需要很长时间。
在 REST 中,这是微不足道的。您返回一个 202 并返回一个 Location 标头,该标头指向客户端可以去哪里获取结果。 GraphQL 作为规范似乎没有这个概念;它似乎总是希望同步处理请求。
在 GraphQL 中做这样的事情有什么约定吗?我非常喜欢查询规范,但我宁愿在后端执行大型查询时不要让客户端 HTTP 连接打开几分钟。如果发生任何事情以终止该连接,则需要重试整个查询,即使结果本身是持久的。
【问题讨论】: