graphiql作为post body而不是查询字符串发送

时间:2017-02-26 10:30:33

标签: node.js http-post graphql graphql-js

On Node我正在使用提供GraphiQL UI的express-graphql插件。

此实现中的GraphiQL始终将查询作为GET查询字符串发送。

但是,正如我理解GraphQL和express-graphql文档一样,它也应该可以在POST请求的主体中发送查询。

有没有办法让GraphiQL(即浏览器IDE)在POST正文中发送查询?

附录2017年2月26日:

我想我找到了自己需要知道的东西。

无论出于何种原因,我在查询字符串中都有查询。像这样:

[myhostname]?query={users{[myfields]}}

我忽略了这一点。

正如express-graphql文档所指出的那样:

  

如果在查询字符串中找不到,它将查看POST请求   体。

这意味着:如果在查询字符串中找到,它将 NOT 查看请求正文。

因此,它被视为GET请求。

所以我需要做的就是从查询参数中清除我的URL,并且请求是通过POST主体到达的。

基本上我只需知道这一切。

所以我通过不正确地观看网址,即没有注意到查询字符串中有查询而犯了一个草率的错误。

1 个答案:

答案 0 :(得分:0)

GraphiQL是一个React组件,可以完全自定义数据发送到服务器的方式(fetcher)。 express-graphql中间件基本上从cdn中提取已转换的GraphiQL代码,并将包含它的静态html页面发送到客户端:https://github.com/graphql/express-graphql/blob/master/src/renderGraphiQL.js

有了这些知识,您基本上可以在单独的路线上执行相同的操作,并从express-graphql

关闭内置的GraphiQL

另请查看GraphiQL文档:https://github.com/graphql/graphiql