收到错误 "errors":["message":"必须提供查询字符串。"]
Posted
技术标签:
【中文标题】收到错误 "errors":["message":"必须提供查询字符串。"]【英文标题】:Getting error "errors":["message":"Must provide query string."]收到错误 "errors":["message":"必须提供查询字符串。"] 【发布时间】:2020-11-30 05:49:30 【问题描述】:我的 app.js 中有这个
const express = require('express');
const bodyParser = require('body-parser');
const graphqlHttp = require('express-graphql').graphqlHTTP;
const buildSchema = require('graphql');
const app = express();
app.use(bodyParser.json());
app.use(
'/myproject',
graphqlHttp(
schema: buildSchema(`
type TypeQuery
events: [String!]!
type TypeMutation
createEvent(name: String): String
schema
query: TypeQuery
mutation: TypeMutation
`),
rootValue:
events: () =>
return ['Cats', 'Sailing'];
,
createEvent: (args) =>
const eventName = args.name;
return eventName;
,
,
graphql: true,
)
);
app.listen(3000);
当我在浏览器中输入“http://localhost:3000/myproject”时出现此错误:
"errors":["message":"Must provide query string."]
我错了什么? 在我的项目中,我所做的唯一更改是在 app.js 中。我没有前端。 谢谢
【问题讨论】:
【参考方案1】:首先,我们应该使用带有 graphql 端点的端口 4000,以及 app.use("/graphql", ...
你得到了。错误,因为您没有正确加载 graphiql 游乐场!只需将graphql: true,
替换为graphiql: true,
即可?
这对我有用 http://127.0.0.1:4000/graphql :
const express = require("express");
const bodyParser = require("body-parser");
const graphqlHttp = require("express-graphql").graphqlHTTP;
const buildSchema = require("graphql");
const app = express();
app.use(bodyParser.json());
app.use(
"/graphql",
graphqlHttp(
schema: buildSchema(`
type TypeQuery
events: [String!]!
type TypeMutation
createEvent(name: String): String
schema
query: TypeQuery
mutation: TypeMutation
`),
rootValue:
events: () =>
return ["Cats", "Sailing"];
,
createEvent: (args) =>
const eventName = args.name;
return eventName;
,
,
graphiql: true,
)
);
app.listen(4000, () =>
console.log("server started on port 4000");
);
【讨论】:
以上是关于收到错误 "errors":["message":"必须提供查询字符串。"]的主要内容,如果未能解决你的问题,请参考以下文章
在尝试验证我的登录时,我收到错误“处理程序调度失败;嵌套异常是 java.lang.***Error”
如何实现“return true;”?错误:“消息端口在收到响应之前关闭。”