如何修复graphql错误:必须提供文档?
我正在使用。我的查询在GraphiQL和curl中工作,但在React中发送它们时不工作 以下是我收到的错误:如何修复graphql错误:必须提供文档?,graphql,react-apollo,graphql-js,apollo-server,Graphql,React Apollo,Graphql Js,Apollo Server,我正在使用。我的查询在GraphiQL和curl中工作,但在React中发送它们时不工作 以下是我收到的错误: Error: Must provide document at invariant (.../node_modules/graphql/jsutils/invariant.js:21:11) at Object.validate (.../node_modules/graphql/validation/validate.js:53:41) at doRunQue
Error: Must provide document
at invariant (.../node_modules/graphql/jsutils/invariant.js:21:11)
at Object.validate (.../node_modules/graphql/validation/validate.js:53:41)
at doRunQuery (.../node_modules/apollo-server-core/dist/runQuery.js:111:42)
at .../node_modules/apollo-server-core/dist/runQuery.js:21:56
at processTicksAndRejections (internal/process/task_queues.js:89:5)
at async Promise.all (index 0)
当我发送卷发时,它会工作:
curl 'http://localhost:4000/graphql' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: http://localhost:4000' -H 'Authorization: XXX' --data-binary '{"query":"query { get_me { user { email } }}"}' --compressed
但当我将其添加到React应用程序时,它不会:
export const myQuery = () => ({
url: 'http://localhost:4000/graphql',
options: {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'ABC',
},
},
body: {
data: '{"query":"get_user { user { email } }"}',
},
我发现了问题:我应该使用
body: {
query: 'query { get_user { user { email } } }',
},
而不是
body: {
data: '{"query":"get_user { user { email } }"}',
},
为什么你要把你的方格弄得这么复杂呢?只需要使用阿波罗,它会处理所有其他事情,你只需要发送一个查询。请阅读这里的文档@Nux谢谢你的建议!目前,我希望尽可能少地修改我的源代码,只测试GraphQL而不测试它的优秀特性。