微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 世界很陌生,所以我无法得出更明智的结论来解释为什么会发生这种情况。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?