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主体到达的。
基本上我只需知道这一切。
所以我通过不正确地观看网址,即没有注意到查询字符串中有查询而犯了一个草率的错误。
答案 0 :(得分:0)
GraphiQL
是一个React
组件,可以完全自定义数据发送到服务器的方式(fetcher
)。 express-graphql
中间件基本上从cdn中提取已转换的GraphiQL代码,并将包含它的静态html页面发送到客户端:https://github.com/graphql/express-graphql/blob/master/src/renderGraphiQL.js
有了这些知识,您基本上可以在单独的路线上执行相同的操作,并从express-graphql
另请查看GraphiQL文档:https://github.com/graphql/graphiql!