带参数的Apollo客户端查询-Vue

时间:2020-04-13 19:27:54

标签: vue.js graphql apollo-client

Apollo客户端的查询:

apolloClient
  .query({
    query: authQuery,
    variables: {
      login: payload.login,
      password: payload.password,
    },
  })
  .then((res) => console.log(res)

authQuery的内容(在file.gql内部):

query auth {
  data
}

我总是收到以下答复:

{
  data: null
  loading: false
  networkStatus: 7
  stale: true
}

尽管在graphiQL中我得到了正确的答案:

在GraphiQL中查询

{
  auth(login:"root@admin", password:"1234")
}

响应:

{
  "data": {
    "auth": "eyJhbGciOi8"
  }
}

我怀疑我的file.gql是罪魁祸首?还是无法读取查询中的变量?

1 个答案:

答案 0 :(得分:0)

我必须以这种方式包装查询:

query Auth($login: String!, $password: String!) {
  auth (login: $login, password: $password)
}

在查询中使用参数时,总是必须用这种方式包装它。