Я новичок в GraphQL. Я изо всех сил пытаюсь получить данные из моего API на интерфейсе.
Я использую apollo-fetch для создания запроса и выполнения запроса, который
const fetch = createApolloFetch({
uri: `${BASE_API_URL}/graphql`,
});
fetch({
query: `{
transactions(limit: 3) {
tid
terminalNo
issuerId
}
}`,
}).then(res => {
console.info('res', res);
}).catch(err => console.info(err));
Я получаю эту ошибку:"Syntax Error: Expected Name, found String "query"".
Странно то, что с помощью Postman с почти таким же запросом я получаю правильные данные.
это запрос, который я использую для почтальона
query {
transactions(limit: 3) {
tid
terminalNo
issuerId
}
}
Что я здесь делаю неправильно? Я попробовал несколько вариантов запроса, но результат был тот же.


В вашей строке запроса нет ключевого слова query, а также есть дополнительная скобка. Это должно быть следующим
fetch({
query: `
query transactions {
transactions(limit: 3) {
tid
terminalNo
issuerId
}
}
`,
})
Я исправил ответ. Мой плохой не заметил вашу строку запроса
все та же проблема
Решение, которое я нашел, заключалось в использовании простого javascript, но я еще не уверен, почему у apollo-fetch возникла ошибка
fetch(`${BASE_API_URL}/graphql`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: `query {
transactions(limit: 3, offset: 0) {
tid
terminalNo
issuerId
}
}`,
})
.then(res => res.json())
.then(res => (
this.setState({ transactions: res.data.transactions })
))
.catch(error => console.info('error', error));
Надеюсь, это поможет любому с той же проблемой.
такой же результат. Это была моя первая попытка. тоже не запятая.