首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GraphQL“必须提供查询字符串”graphql-tag react阿波罗

GraphQL“必须提供查询字符串”graphql-tag react阿波罗
EN

Stack Overflow用户
提问于 2019-01-15 02:47:49
回答 1查看 1.4K关注 0票数 0

我用的是“反应--阿波罗”和“图形to标签”,但有些东西似乎失败了。服务器运行在express & postgraphile上。

我做错了什么吗?

邮递员(工作):

代码语言:javascript
复制
{
    "query": "{\n  allPosts(first:10) {\n    nodes {\n    \tnodeId,\n      id,\n      content\n    }\n  }\n}"
}

反应(失败);

Status Code: 400 Bad Request Response: {"errors":[{"message":"Must provide a query string."}]}

代码:

代码语言:javascript
复制
export const allPostsQuery = gql`
  {
    allPosts(first: 10) {
      nodes {
        nodeId,
        id,
        content
      }
    }
  }
`;
 . . . 
<Query query={ allPostsQuery }> . . . </Query>

生成的请求有效负载相应地看起来:

代码语言:javascript
复制
{"operationName":null,"variables":{},"query":"{\n  allPosts(first: 10) {\n    nodes {\n      nodeId\n      id\n      content\n      __typename\n    }\n    __typename\n  }\n}\n"}

我也试图通过邮递员运行这个有效载荷,它看起来很好。

这是我的阿波罗客户端配置:

代码语言:javascript
复制
return new ApolloClient({
    connectToDevTools: process.browser,
    ssrMode: !process.browser,
    link: new HttpLink({
      uri: 'http://127.0.0.1:8181/graphql',
      credentials: 'include',
      headers: {
        'Content-Type': 'application/json'
      }
    }),
    cache: new InMemoryCache().restore(initialState || {})
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-15 12:04:16

多亏了@azium,我弄明白了。再次谢谢你。Content-Type正在复制自己:

代码语言:javascript
复制
Request Headers -> content-type: application/json, application/json

因此,删除headers对象可以解决这个问题。

代码语言:javascript
复制
function create (initialState) {
  return new ApolloClient({
    connectToDevTools: process.browser,
    ssrMode: !process.browser,
    link: new HttpLink({
      uri: 'http://127.0.0.1:8181/graphql',
      credentials: 'include'
      // headers:
      //  'Content-Type': 'application/json' <-- remove the duplicate
      //}
    }),
    cache: new InMemoryCache().restore(initialState || {})
  });
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54192070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档