【发布时间】:2020-10-24 23:15:03
【问题描述】:
我想使用 UUID 作为标识符,但标准标量 ID 被强制转换为字符串。 所以在我使用 ID 类型的任何地方都必须从字符串中解析 uuid。
我想知道是否可以用我自己的实现来覆盖 ID 类型? 这个标量类型有什么特殊含义,或者我可以使用我自己的标量 UUID 作为标识符?
【问题讨论】:
标签: graphql graphql-java
我想使用 UUID 作为标识符,但标准标量 ID 被强制转换为字符串。 所以在我使用 ID 类型的任何地方都必须从字符串中解析 uuid。
我想知道是否可以用我自己的实现来覆盖 ID 类型? 这个标量类型有什么特殊含义,或者我可以使用我自己的标量 UUID 作为标识符?
【问题讨论】:
标签: graphql graphql-java
我们无法覆盖可用的缩放器,请参阅此link 进行讨论。
您可以在代码中定义 UUIDScalar,同样您必须覆盖以下方法
@Override
public Object serialize(Object dataFetcherResult) {
//
}
@Override
public Object parseValue(Object input) {
//
}
@Override
public Object parseLiteral(Object input) {
//
}
参考:Making custom scalars in graphql java
幸运的是,为 UUID 制作自定义标量的代码可以在线获得,您可以使用 PR
【讨论】: