问题标签 [graphql-spqr]

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 投票
1 回答
332 浏览

java - 如何在 SPQR 中使用 JSON 标量

我想在服务类中返回一个 JSON 文字

上面的代码转义了响应中的所有引号

如何删除转义字符?

0 投票
1 回答
1364 浏览

java - 过滤嵌套字段,或将类型映射到查询

请原谅可能是基本问题。我使用 GraphQL SPQR 来实现产品 DTO 的获取,如下所示:

请注意,我正在使用此查询对我的数据存储库进行分页。

我的 DTO 的设置方式可以如下查询:

在第二种类型(商店)下,我再次获取产品列表。我如何告诉 GraphQL 以与获取第一个产品列表相同的方式获取第二个嵌套的产品列表?

我正在想象将 绑定GraphQLQuery到我的ProductEntityDAO类或类似的东西的能力,以便针对该类型的提取都可以以相同的方式解决。

感谢您的帮助。

编辑:

谢谢卡卡。该解决方案运行良好,我需要为“拥有产品的实体”的一般情况解决这个问题。

为此,我在我的产品实体上定义了一个接口,如下所示:

然后,我通过在需要执行此操作的实体上实现此接口,使与产品列表有连接的实体以通用方式获取它:

在我的存储库中:

允许我在我的服务中做这样的事情:

因此,我以一种通用的方式为任何特定类型定义了我的解析器。很想听听其他人对解决方案的看法。

在实现诸如“按名称过滤”之类的东西时,我想这也会非常有用。

0 投票
2 回答
3766 浏览

java - SubSelectionRequired 类型的验证错误:字段类型 Timestamp 需要子选择

我使用 GraphQL-SPQR 库问题是“SubSelectionRequired 类型的验证错误:Timestamp 类型需要子选择”也许在查询中存在时间戳或实体格式的表达式

错误

实体

服务

控制器

我搜索了所有查询时间戳格式但是,我找不到我希望听到的解决方案。谢谢你

0 投票
1 回答
172 浏览

spring-boot - 如何自定义序列化

我是 graphql 和 spqr 的新手。我想用个人格式序列化我的日期。我该怎么做?

0 投票
1 回答
884 浏览

java - graphql-spqr 中的自定义标量类型

我在graphql-spqr中,java.util.Date被定义为Scalar。是否可以覆盖 java.util.Date 的序列化/反序列化以获取日期的不同字符串表示形式?

此答案中提到的 ScalarStrategy已在最新版本中删除。

GraphQL 响应:

0 投票
1 回答
497 浏览

spring-boot - 使用 SPQR Graphql 上传文件

我正在使用 spring boot 和 spqr graphql 库。我需要通过 graphql 上传文件。我不知道在服务中期望什么对象类型,我假设这甚至不受支持。

有没有人试过这个?有什么建议吗?

谢谢。

0 投票
1 回答
846 浏览

graphql - GraphQl Java,如何从查询和处理子类的问题中盲目返回与对象关联的所有变量

我是 GraphQL 的新手,我目前正在使用 GraphQL-SPQR 将 GraphQL API 实现到已建立的 Java 代码中,并且在从分层类中提取数据时遇到了几个问题。

我遇到的问题如下。

首先,如果有一种简单的方法可以获取与返回节点关联的所有数据,我不会这样做。如果有,这对我更复杂的类最有用。

其次,当一个方法返回一个抽象类时,我似乎只能请求抽象类上的变量。我相信这应该是可能的,我只是把头撞在墙上。

作为一个简单的例子

所以在我的第一个问题中,我目前正在查询的是。"{animalname(name: \"Daisy\") {name age}}" 这可以正常工作。但是,如果您想象该类有 10 个变量,我只想能够编写与以下内容等效的内容,而无需查找它们。"{node(name: \"Daisy\") {ALL}}" 这可能吗?

关于我的第二个问题。以下查询引发错误('Animal' 类型中的'Field 'favouriteFood' is undefined')

同样(阅读https://graphql.org/learn/queries/的内联片段)

抛出错误未知类型 Dog

这很烦人,因为我有许多可以返回的子类,并且可能需要以不同的方式处理。我想我可以理解为什么会发生这种情况,因为 GraphQL 不知道真正的类是什么,只知道我返回的超类。但是我想知道是否有办法解决这个问题。

最终,虽然我可以通过简单地将所有数据序列化为 JSON 并将其发送回来解决这两个问题,但这有点摆脱了 GraphQL 的意义,我宁愿找到一个替代解决方案。

感谢您的任何回复。抱歉,如果这些是基本问题。

0 投票
1 回答
627 浏览

java - Json 到 Graphql-spqr 中的对象反序列化问题

Json 到 GraphQLArgumetn 对象转换在 graphql-spqr 中失败。

尝试将 GraphQLInterface(具有 autodiscovery true 和 scanpackage)添加到上述抽象类和 GraphQLtype 类型所有具体类。

我的图表查询:

Java代码:

仍然抛出错误未知字段错误等。不确定缺少哪个配置。使用 AnnotatedResolvedBuilder 构建 GraphQLSchema,基础包配置 JacksonValueMappperFactory 和单例服务。

0 投票
1 回答
779 浏览

java - 通过查询模式通过子对象访问父对象的受保护字段

我正在使用graphql-spqr所以我不必创建schema.graphql文件。

我有一个基类,我的大多数其他类都继承自其中。例如

其他类继承自上述基类如下

GetAllGroupResponse当我设置如下的父值时

我希望从我的 graphql 查询请求中检索 responseCode 的值

{ getAllPagable(pageNumber : 1, numberOfRecords : 3) { responseCode groups { groupName } } }

但它在下面抛出一个错误,告诉我它看不到 responseCode 变量,因为它不是类的直接属性GetAllGroupResponse

FieldUndefined 类型的验证错误:“GetAllGroupResponse”类型中的字段“responseCode”未定义@“getAllPagable/responseCode”

PS。BaseResponse来自导入到当前项目的不同包/库项目

更新

基于提出的 GitHub 问题和提供的解决方案。我创建了一个如下的bean

现在我收到一个错误,上面写着以下内容

对象类型“GetAllGroupResponse”未实现接口“BaseResponse”,因为缺少字段“responseCode”

所以我决定getResponseCode手动添加getter方法,它运行成功。当我调用/graphql端点时,它会引发异常

对象需要不为空”,“trace”:“graphql.AssertException:对象需要不为空

0 投票
1 回答
2116 浏览

java - 如何生成用于与 java 联合的 graphql 模式?

我的小组计划使用 Apollo Gateway 进行联合。因此,我们需要稍微不同地生成我们的模式。

我们可以使用你惊人的库来制作这样的东西吗?