阿波罗提取GraphQL请求

时间:2019-03-05 00:41:15

标签: graphql apollo react-apollo graphql-js

我对GraphQL还是很陌生,我正努力从前端的API中获取数据。

我正在使用apollo-fetch构建查询并发出请求,这是

const fetch = createApolloFetch({
  uri: `${BASE_API_URL}/graphql`,
});
fetch({
  query: `{
    transactions(limit: 3) {
      tid
      terminalNo
      issuerId
    }
  }`,
}).then(res => {
  console.log('res', res);
}).catch(err => console.log(err));

我收到此错误:"Syntax Error: Expected Name, found String "query""

奇怪的是,使用Postman时,与几乎相同的查询我都能收到正确的数据。

这是我在邮递员上使用的查询

query {
  transactions(limit: 3) {
   tid
   terminalNo
   issuerId
 }
}

我在这里做错了什么?我在查询中尝试了一些变体,但结果是相同的。

2 个答案:

答案 0 :(得分:0)

您的查询字符串没有关键字query,也有一个附加的括号。应该如下

enter template<typename T1, T2>
int proof(T1<T2>::iterator& it, T1<T2>::iterator& itt){

return distance(it, itt);
}

答案 1 :(得分:0)

我发现的解决方案使用的是普通的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.log('error', error));

希望它可以帮助遇到相同问题的任何人。