У меня проблема с объединением в graphql, я пытаюсь сделать учебник с graphql, и я застрял в одной ошибке
Description:
An attempt was made to call a method that does not exist. The attempt was made from the following location:
com.coxautodev.graphql.tools.UnionTypeResolver.<init>(DictionaryTypeResolver.kt:41)
The following method did not exist:
'java.lang.String graphql.schema.GraphQLOutputType.getName()'
Это мой объединение, определенное в graphqls
type Talk {
id : ID!
title : String
description : String
speakers : [ Speaker ]
}
type Speaker {
id : ID!
name : String
twitter : String
}
union All = Speaker | Talk
type Query {
allAll : [All]
}
Это мой распознаватель для метода allAll
@RequiredArgsConstructor
public class MemberQueryResolver implements GraphQLQueryResolver {
private final SpeakerService speakerService;
private final TalkService talkService;
public List<Object> allAll() {
var list = new ArrayList<Object>();
list.addAll(speakerService.findAll());
list.addAll(talkService.findAll());
return list;
}
}
И это мой метод схемы конфигурации
private GraphQLSchema buildSchema(TalkService talkService, AttendeeService attendeeService,
SpeakerService speakerService) {
return SchemaParser
.newParser()
.file("graphql/schema.graphqls")
.resolvers(
new MemberQueryResolver(speakerService, talkService)
)
.build()
.makeExecutableSchema();
}
Когда я удаляю распознаватель, я получаю ошибку, что метод для сопоставления allAll не существует, но когда я зарегистрируйте преобразователь с помощью этого метода весенний сервер cra sh с указанной выше ошибкой. Кто-нибудь пытался сделать объединение типов с помощью java kickstart и может показать мне проблему или мою ошибку?