问题描述
我想在使用 ExtendedScalars.Json
的应用程序中使用 graphql-java-extended-scalars
包中的 quarkus-smallrye-graphql
,但我正在努力这样做。
给定一个测试模型类
public class Test {
public String name;
public Object description;
}
以下GraphQLApi
@GraphQLApi
public class API {
@Inject
SomeService someService;
@Query
public Test gettest() {
return someService.gettest();
}
}
其中 Test
可能被描述为
{
"name": "Test","description": {
"hello": "world"
}
}
字段 description
应该被视为 ExtendedScalars.Json
,所以这个 GraphQL 查询的结果
{
test {
description
}
}
应该是
{
"data": {
"test": {
"description": {
"hello": "world"
}
}
}
}
然而,@ToScalar
注释不采取 ExtendedScalars.Json
并回退到 graphql-java
类似 public GraphQLSchema.Builder addScalar(@Observes GraphQLSchema.Builder builder) { ... }
手动替换类型和 QueryType 导致 AssertException 像>
graphql.AssertException:GraphQL 模式中的所有类型都必须具有唯一的名称。任何两个提供的类型都不能具有相同的名称。 提供的类型的名称不得与任何内置类型(包括标量和内省类型)冲突。 您已将“查询”类型从“GraphQLObjectType”重新定义为“GraphQLObjectType”
知道如何处理这个问题吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)