Во-первых, вы используете странный стек.Хотя graphql-java-tools
до недавнего времени жил в com.graphql-java
groupId в Maven, на самом деле это совершенно отдельный стек.Более свежие выпуски публикуются под новым groupId com.graphql-java-kickstart
, чтобы избежать путаницы в будущем.
Теперь, если вы уже используете graphql-java-tools
, вам нужен стартер com.graphql-java-kickstart:graphql-spring-boot-starter
, так как он предназначен дляиспользовать вместе.
Используемый стартер (com.graphql-java:graphql-spring-boot-starter
) предназначен для использования с чистым graphql-java
.Вам просто нужно подключить бин типа GraphQL
.См. официальный учебник для более подробной информации.
Они могут быть созданы для совместной работы, учтите, это просто неоптимальная комбинация.
Теперьпричина, по которой вы получаете эту ошибку, заключается в том, что ваша конечная точка HTTP (Spring Controller) не соответствует спецификации GraphQL-over-HTTP , и GraphiQL ожидает, что (в частности, GraphiQL использует * 1023)* POST сорт ).Почтальон нет, поэтому он проходит.
Лучший способ изменить ваш бэкэнд, чтобы ожидать JSON-объект в запросе, со следующей формой:
{
"query": "...",
"operationName": "...",
"variables": { "myVariable": "someValue", ... }
}