Я использую Rails как серверную часть GraphQL, используя плагин graphql-ruby. Что касается размера внешнего интерфейса, я использую Apollo Client для своего проекта response / redux.
Вот моя передняя сторона:
const networkInterface = createNetworkInterface({
uri: 'http://localhost:4001/graphql',
});
export const apolloClient = new ApolloClient({ networkInterface });
На моем сервере я успешно протестировал следующий запрос на http://localhost:4001/graphiql
.
query{
allAuthors{
full_name,
books{
book_name,
book_description,
isbn
}
}
}
Вот моя конфигурация маршрута рельсов:
if Rails.env.development?
mount GraphiQL::Rails::Engine, at: "/graphiql", graphql_path: "/graphql"
end
post "/graphql", to: "graphql#execute"
Я пытаюсь получить аналогичные данные со стороны внешнего интерфейса. Вот мой код:
const ALL_AUTHORS_QUERY = gql`
query allAuthors {
full_name,
books{
book_name,
book_description,
isbn
}
}
`;
apolloClient
.query({
query: ALL_AUTHORS_QUERY,
})
.then(response => console.log(response.data));
}
Но после этого я встречаю следующее исключение:
POST http://localhost:4001/graphql 422 (Unprocessable Entity)
Подскажите пожалуйста, что я не так? Спасибо
@Edit 1: Я также пробую другой запрос на клиенте, но проблема все та же.
const ALL_AUTHORS_QUERY = gql`
query {
allAuthors {
full_name
books {
book_name
book_description
isbn
}
}
}
`;
apolloClient
.query({
query: ALL_AUTHORS_QUERY,
})
.then(response => console.log(response.data));