问题标签 [sangria]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
411 浏览

scala - Graphql 在数据获取方面的性能

我开始研究 Sangria 来创建一个 Graphql 服务器。

我不清楚的第一件事是如何在大型数据集上下文中获取数据。所有示例都从数据库中获取所有数据,然后让 Graphql 完成它的工作。这感觉像是获取大量数据的低效方式。

那么你如何制作桑格利亚汽酒规模?您如何优化查询以不使用一般全选?

0 投票
0 回答
114 浏览

scala - 将参数传递给 deferRelSeq 方法的方法

有没有办法将查询参数传递给deferRelSeq方法并在传递给的匿名函数之一中获取参数Fetcher.rel?在这里,我想ConnectionArgs在匿名函数中获取 并使用它们来准备一个sangria.relay.Connection.

0 投票
1 回答
233 浏览

scala - sangria-graphql:内联片段未解决

大家好。我正在使用 sangria-graphql,一切正常……除了内联片段。我在架构中有以下类型:

我发送这样的查询:

即使返回的 oid 是 Dataset 实例的 oid,也不会返回任何名称。就好像解析器不知道这是 Dataset 的一个实例,并且只将其视为 Entity 的一个实例。

一些实现细节。该模式是使用Schema.buildFromAstGraphQL 文档中的方法构建的,并resolveField实现了该方法:

子选择字段解析如下:

  • 如果context.value是 a JsObject,则取其名为 的 Json 字段context.field.name
  • 如果context.value是 a JsString,则将其解释为实体的 oid,使用上下文提供的句柄在商店中查找实体Ctx;该实体被检索为 a JsObject,并采用其名称为 的 Json 字段context.field.name

正如我所提到的,问题是不尊重内联片段。也许,我错过了一些东西。也许,不仅如此,resolveField其他一些事情也需要正确实施。也许,我的resolveField.

你有什么建议?在您看来,问题出在哪里?你会建议我做什么来解决这个问题?

0 投票
2 回答
938 浏览

scala - Sangria-graphql:将 derivedInputObjectType 作为突变参数传入时出错

我有以下带有选项字段的案例类:

我正在尝试为业务用户对象创建一个 inputType 对象

我想将此 BusinessInputObject 作为参数传递给 addBusinessUser 突变

但我收到以下编译错误:

但是 BusinessRow 中的所有字段都是标量值。我不明白是什么导致了这个问题。有什么我没有看到的吗?

0 投票
1 回答
330 浏览

scala - Sangria 中间件中用于记录慢速 GraphQL 查询的 Executor.execute(​????) 的正确签名是什么?

我正在尝试集成 Sangria 中间件以在我的应用程序中记录慢速 GraphQL 查询,但得到以下编译

错误:

类型不匹配;
找到:sangria.schema.Schema[models.UserRepo,Unit]
需要:sangria.schema.Schema[Any,Unit]
注意:models.UserRepo <:Any,但类 Schema 在 Ctx 类型中是不变的

您可能希望将 Ctx 定义为 +Ctx。(SLS 4.5)
涉及默认参数的应用程序发生错误。

代码片段:

这是参考链接:https ://github.com/sangria-graphql/sangria-slowlog

请帮助我知道什么是正确的签名Executor.execute(​​​????)

谢谢!

0 投票
2 回答
1465 浏览

scala - 在 Sangria 中编组嵌套的自定义对象

我有以下输入对象:

这是我定义了自定义编组的模型:

我的问题是,当我有一个InputObject具有自定义编组的嵌套时,我看不到在编组BusinessHoursInput之前被调用的BusinessInput编组。我注意到了这一点,因为 "Hey" 的打印语句从未在 "ad" 的打印语句之前执行过BusinessInput。当我尝试BusinessInput在数据库中插入 hours 字段时,这会导致我以后遇到问题,因为它无法将其转换为BusinessHoursInput对象。在桑格利亚汽酒中,是否无法在编组父对象之前自定义编组嵌套对象?

0 投票
1 回答
99 浏览

scala - 在 PlayServiceCall 上进行 POST 查询

我有一个应该处理 GraphQL POST 查询的 PlayServiceCall。代码如下 -

该代码与 Sangria 网站上的入门页面中解释的代码相同,也是 Sangria在 Github 上的示例项目代码。这里 graphqlBody 方法处理 GraphQL 的 POST 请求。

当我通过POST方法发送 GraphQL 查询时,它会出现以下错误 -

谁能帮助如何使用 Sangria 通过 POST 方法发送 GraphQL 查询。

0 投票
1 回答
307 浏览

scala - Sangria not seeing GraphQL query variables

When I have a query like this:

I get an error back: Variable '$name' is not defined.

I checked those variables were being extracted from JSON properly, and they were. To be sure, I tried explicitly passing in the name variable when I execute the query:

Why would Sangria not be recognizing these variables? Is there something wrong with how I'm naming them?

0 投票
1 回答
845 浏览

scala - 如何为使用 Sangria 在 GraphQL 中创建的实体提供 ID?

我有一个案例类Inventory

输入类型:

一个论点:

最后是一个字段:

我想做的是能够Inventory用这样的查询创建一个:

缺少的部分是在Sangria 尝试使用它拥有的变量实例化域对象之前organizationId和之前创建 UUID 的位置。inventoryIdInventory

目前,我收到此错误:

(当然,我可以只创建一个NewInventory没有 ID 字段的案例类并Inventory手动实例化一个,但我想避免为每个实体类型创建和维护两个类。)

0 投票
2 回答
342 浏览

scala - 如何使用 json4s 和 Akka HTTP 序列化 Sangria 响应?

我正在使用 Akka HTTP处理 Sangria 的Getting Started的轻微变化。我正在尝试使用 json4s-jackson 作为序列化库,但在获得我想要的响应时遇到了一些麻烦。

具体来说,我得到的序列化响应是(StatusCode, Node)元组的 JSON 版本:

data部分是正确的,但显然我只想要那个而不是序列化元组的第一个元素。

我正在使用akka-http-json4s,所以我的路线特征如下:

对于我的生活,我无法弄清楚出了什么问题。我一直在看sangria-akka-http-example但它似乎完全一样,除了使用 spray-json 而不是 json4s。

想法?谢谢!