GraphQL Elixir/Phoenix API:Socket 挂断了大 json 响应

问题描述

Elixir/Phoenix 和 GraphQL 的新特性。我创建了一个简单的 API,可以从 Postgresql 数据库中检索“绘图”。该表由“id”(uuid)和“drawing_json”(文本)组成。表中有一行,有一个大约 77Kb 的 json 字符串。我的架构和查询是使用 Absinthe 定义的。我有 1 个名为“all_drawings”的查询,它解析并联系到 Repo 并拉入所有图纸。使用 postman 调用此 API 时,以下查询工作正常:

{
   allDrawings
   {
       id
   }
}

但是,当我尝试返回 json 字段以及邮递员请求时,我收到“套接字挂断”错误

enter image description here

查看 Visual Studio Code 中的调试控制台,我可以看到查询几乎可以立即从数据库获取数据。尽管将其返回给我无法检测到的客户端,但似乎发生了一些事情。不会抛出任何错误。有任何想法吗?不确定哪些信息会有所帮助,但很乐意提供更多信息。

解决方法

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...