GraphQL Elixir/Phoenix API:套接字挂起,响应较大 json

GraphQL Elixir/Phoenix API: Socket hang up with large json response

Elixir/Phoenix 和 GraphQL 的新手。我创建了一个简单的 API 来从 PostgreSQL 数据库中检索“绘图”。 table 由“id”(uuid)和“drawing_json”(文本)组成。 table 中有一行 json 字符串,大约 77Kb。我的架构和查询是使用 Absinthe 定义的。我有 1 个名为“all_drawings”的查询,它解析并到达 Repo 并提取所有图纸。当使用邮递员调用此 API 时,以下查询工作正常:

{
   allDrawings
   {
       id
   }
}

但是,当我尝试 return json 字段时,邮递员请求超时,我收到“套接字挂断”错误。

查看 Visual Studio 代码中的调试控制台,我可以看到查询从数据库中获取数据非常好,而且几乎是立即的。虽然在 return 发送给客户端时似乎发生了一些我无法检测到的事情。不会抛出任何错误。有任何想法吗?不确定哪些信息会有所帮助,但很乐意提供更多信息。

一位同事帮助我找到了修复方法。不知道这是为什么(也许有人可以详细说明),但问题在于尝试在 Visual Studio 代码中 运行 它。以前,我在 launch.json 中设置了 运行 任务,然后单击 运行 按钮开始调试我的应用程序。这每次都会导致上述崩溃。当我去终端和 运行 “mix phx.server” 命令时,一切正常。在使用 IDE 进行调试时,不确定挂断是由于 Visual Studio 代码还是 ElixirLS 扩展。但是通过命令行启动应用程序允许我使用邮递员点击 api 并检索数据就好了。我是 Elixir/Phoenix 世界的新手,所以我无法得出更明智的结论来说明为什么会发生这种情况。