使用 Hasura graphql 的 Http 请求不起作用

Http request with Hasura graphql not working

我是 Hasura 的新手,在尝试通过 http 请求提取数据时需要一些帮助。

以下是我的请求,但我认为我的语法不正确。我需要传递 ajson 对象,其中键是查询,值是代码块。我该怎么做?

肖恩

query MyQuery {
  t_user(where: {id: {_eq: "2"}}) {
    name
    id
  }
}

你应该 post 你的问题更详细。就像 向 Hasura graphql 端点发出请求的实际代码

这是一个使用 浏览器 fetch api

的示例请求
const query = `query MyQuery {
  t_user {
    name
    id  
  }
}`;

fetch('https://lasting-grub-95.hasura.app/v1/graphql', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'x-hasura-admin-secret': 'my-secret'
    },
    body: JSON.stringify({
        query
    })
})
    .then(res => res.json())
    .then(res => {
        console.log('Hasura response: ', res);
    })
    .catch(err => {
        console.error(err);
    })

对于 admin-secret,请转到 Hasura Cloud 的项目页面。在那里您会看到您的项目列出了必要的详细信息,包括 Admin Secret

我在一点帮助下找到了答案。我需要将查询放入 JSON 对象中。所以我在控制台中的查询是这样的: query MyQuery { t_user(where: {id: {_eq: "2"}}) { name id } }

我需要它看起来像这样: {"query":"query MyQuery {\n  t_user(where: {id: {_eq: \"2\"}}) {\n    name\n    id\n  }\n}\n","variables":null,"operationName":"MyQuery"}