Я определил простую схему в GraphQL Java для добавления Book
и извлечения [Book]
. Моя схема выглядит так:
schema {
query: Query
mutation : Mutation
}
type Query {
allBooks: [Book]
book(id: String): Book
}
type Book {
isn: String
title: String
publisher: String
author: String
publishedDate: String
}
input BookType {
isn: String
title: String
publisher: String
author: String
publishedDate: String
}
type Mutation {
newBook(
isn: String!,
title: String!,
publisher: String!,
authors:String!,
publishedDate: String!
): Book
}
Я создал проводку во время выполнения так:
RuntimeWiring.newRuntimeWiring()
.type("Query", typeWiring ->
typeWiring.dataFetcher("allBooks", allBooksDataFetcher))
.type("Mutation", typeWiring ->
typeWiring.dataFetcher("newBook", addBooksDataFetcher))
.build();
Запрос allBooks
работает нормально, но мутация newBook
не работает и выдает следующую ошибку:
"errors": [
{
"validationErrorType": "FieldUndefined",
"message": "Validation error of type FieldUndefined: Field oneBook is undefined",
"locations": [
{
"line": 3,
"column": 3
}
],
"errorType": "ValidationError"
}
],
"data": null,
"extensions": null
}
Мутация через Почтальон:
{
newBook(
isn:"1",
title: "test title",
publisher: "test publisher",
authors:"test author",
publishedDate: "2 Nov 2018"
) {
title
}
}
Пожалуйста, помогите мне. Он не принимает Mutation Type, но Query работает абсолютно нормально. Я что-то упустил?