【发布时间】:2019-03-18 02:33:24
【问题描述】:
我在我的数据库中以字节数组的形式保存了缩略图。我似乎无法锻炼如何通过 GraphQL 将这些返回给前端客户端。
在标准 REST 方法中,我只需将 POJO 与字节一起发送回来,我就可以轻松地将其渲染出来。
但是尝试返回 byte[] 会抛出
无法将类型定义 (ListType{type=NonNullType{type=TypeName{name='Byte'}}}) 与 java 类型 (class java.lang.Byte) 匹配:Java 类不是 List 或泛型类型信息丢失:类 java.lang.Byte
错误是描述性的,告诉我出了什么问题,但我不知道如何解决。
我的thumbnail.graphqls 看起来像:
type Thumbnail {
id: ID!
resource: [Byte!]
}
还有缩略图 POJO
public class Thumbnail extends BaseEntity {
byte[] resource;
}
我在 Java 端使用 graphql-spring-boot-starter 来处理事情,我认为它支持 Byte 开箱即用,那么我哪里出错了?
对 GraphQL 非常陌生,所以这可能只是一个明显的错误。
干杯,
【问题讨论】:
-
我认为您的问题是您尝试将二进制数组序列化为 json(我猜您从控制器返回 json)。您认为您的回复应该是什么样子?
-
我希望 GraphQL 的结果看起来与 REST 请求的结果相同。如此有效地,
byte[]看起来像一串字节......这就是我如何让 GraphQL 接受这是一个有效的响应类型?
标签: java spring-boot graphql