问题标签 [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.
scala - Graphql 在数据获取方面的性能
我开始研究 Sangria 来创建一个 Graphql 服务器。
我不清楚的第一件事是如何在大型数据集上下文中获取数据。所有示例都从数据库中获取所有数据,然后让 Graphql 完成它的工作。这感觉像是获取大量数据的低效方式。
那么你如何制作桑格利亚汽酒规模?您如何优化查询以不使用一般全选?
scala - 将参数传递给 deferRelSeq 方法的方法
有没有办法将查询参数传递给deferRelSeq
方法并在传递给的匿名函数之一中获取参数Fetcher.rel
?在这里,我想ConnectionArgs
在匿名函数中获取 并使用它们来准备一个sangria.relay.Connection
.
scala - sangria-graphql:内联片段未解决
大家好。我正在使用 sangria-graphql,一切正常……除了内联片段。我在架构中有以下类型:
我发送这样的查询:
即使返回的 oid 是 Dataset 实例的 oid,也不会返回任何名称。就好像解析器不知道这是 Dataset 的一个实例,并且只将其视为 Entity 的一个实例。
一些实现细节。该模式是使用Schema.buildFromAst
GraphQL 文档中的方法构建的,并resolveField
实现了该方法:
子选择字段解析如下:
- 如果
context.value
是 aJsObject
,则取其名为 的 Json 字段context.field.name
; - 如果
context.value
是 aJsString
,则将其解释为实体的 oid,使用上下文提供的句柄在商店中查找实体Ctx
;该实体被检索为 aJsObject
,并采用其名称为 的 Json 字段context.field.name
。
正如我所提到的,问题是不尊重内联片段。也许,我错过了一些东西。也许,不仅如此,resolveField
其他一些事情也需要正确实施。也许,我的resolveField
.
你有什么建议?在您看来,问题出在哪里?你会建议我做什么来解决这个问题?
scala - Sangria-graphql:将 derivedInputObjectType 作为突变参数传入时出错
我有以下带有选项字段的案例类:
我正在尝试为业务用户对象创建一个 inputType 对象
我想将此 BusinessInputObject 作为参数传递给 addBusinessUser 突变
但我收到以下编译错误:
但是 BusinessRow 中的所有字段都是标量值。我不明白是什么导致了这个问题。有什么我没有看到的吗?
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(????)
谢谢!
scala - 在 Sangria 中编组嵌套的自定义对象
我有以下输入对象:
这是我定义了自定义编组的模型:
我的问题是,当我有一个InputObject
具有自定义编组的嵌套时,我看不到在编组BusinessHoursInput
之前被调用的BusinessInput
编组。我注意到了这一点,因为 "Hey" 的打印语句从未在 "ad" 的打印语句之前执行过BusinessInput
。当我尝试BusinessInput
在数据库中插入 hours 字段时,这会导致我以后遇到问题,因为它无法将其转换为BusinessHoursInput
对象。在桑格利亚汽酒中,是否无法在编组父对象之前自定义编组嵌套对象?
scala - 在 PlayServiceCall 上进行 POST 查询
我有一个应该处理 GraphQL POST 查询的 PlayServiceCall。代码如下 -
该代码与 Sangria 网站上的入门页面中解释的代码相同,也是 Sangria在 Github 上的示例项目代码。这里 graphqlBody 方法处理 GraphQL 的 POST 请求。
当我通过POST方法发送 GraphQL 查询时,它会出现以下错误 -
谁能帮助如何使用 Sangria 通过 POST 方法发送 GraphQL 查询。
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?
scala - 如何为使用 Sangria 在 GraphQL 中创建的实体提供 ID?
我有一个案例类Inventory
:
输入类型:
一个论点:
最后是一个字段:
我想做的是能够Inventory
用这样的查询创建一个:
缺少的部分是在Sangria 尝试使用它拥有的变量实例化域对象之前organizationId
和之前创建 UUID 的位置。inventoryId
Inventory
目前,我收到此错误:
(当然,我可以只创建一个NewInventory
没有 ID 字段的案例类并Inventory
手动实例化一个,但我想避免为每个实体类型创建和维护两个类。)
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。
想法?谢谢!