Ошибка клиента 400 Apollo - bundle.esm.js: 60 Uncaught (в обещании) Ошибка: ошибка сети: Ответ не успешен: полученный код состояния 400 - PullRequest
0 голосов
/ 09 мая 2019

Я пытаюсь подключиться к apollo-клиенту в моем приложении реагирования, и я получаю ошибку 400 при запуске запроса. Если я использую тот же URL с тем же запросом в почтальоне, он работает отлично. Спасибо, ребята

Я уже пробовал использовать ссылку apollo, но не смог заставить ее работать.

const client = new ApolloClient({

    uri: 'http://localhost:3000/graphql',
    onError: (e) => { console.log(e) },
})

client.query({

    query: gql`
    {
        contracts{
            id
        }
    } `
}).then(data => console.log(`Query Result ${data}`))

Ошибка в браузере !!

{operation: {…}, networkError: ServerError: Response not successful: Received status code 400
    at throwServerError (http://loca…, graphQLErrors: undefined, forward: ƒ}forward: ƒ (op)graphQLErrors: undefinednetworkError: ServerError: Response not successful: Received status code 400
    at throwServerError (http://localhost:3000/static/js/bundle.js:37934:17)
    at http://localhost:3000/static/js/bundle.js:37959:13operation: {variables: {…}, extensions: {…}, operationName: null, query: {…}, setContext: ƒ, …}__proto__: Object
bundle.esm.js:60 Uncaught (in promise) Error: Network error: Response not successful: Received status code 400
    at new ApolloError (bundle.esm.js:60)
    at QueryManager.<anonymous> (bundle.esm.js:1184)
    at step (tslib.es6.js:97)
    at Object.next (tslib.es6.js:78)
    at tslib.es6.js:71
    at new Promise (<anonymous>)
    at __awaiter (tslib.es6.js:67)
    at bundle.esm.js:1147
    at bundle.esm.js:1627
    at Array.forEach (<anonymous>)
    at bundle.esm.js:1626
    at Map.forEach (<anonymous>)
    at QueryManager../node_modules/apollo-client/bundle.esm.js.QueryManager.broadcastQueries (bundle.esm.js:1621)
    at bundle.esm.js:1127

Я просто пытаюсь сохранить в журнале результат запроса для проверки

Ответы [ 2 ]

0 голосов
/ 18 июня 2019

Вы должны упомянуть политику выборки.Если вы используете текущие реактивные хуки, тогда используйте что-то вроде этого

import { useQuery, useMutation } from '@apollo/react-hooks';

const Login = () => {
    const [signInResponse] = useMutation(SIGNIN_USER);

    const onSubmit = async (e) => {
        const response = await signInResponse({
            variables:{email:'email',password:'password'},
            errorPolicy:"all"
        });
        console.log(response)
        // dispatch({type:"LOGIN",payload:response.data})
    };
}
0 голосов
/ 09 мая 2019

Добавьте косую черту в конец URI, чтобы она выглядела как http://localhost:3000/graphql/ Может быть, не имеет значения, но это имеет значение.

...