Apollo 服务器 GraphQL 网络问题
Apollo server GraphQL network issue
我遇到了问题。我搜索并尝试了一切。我认为这是关于网络问题或 GraphQL(Apollo-Server-Express) 中的错误。我正在发送一个似乎完全正确且很好的查询,测试了这些值并且它们都很好。我发送了请求,它显示了 200 状态代码,它显示内容是正确的。但是,当我在开发工具中打开网络 window 时,问题就出现了。它给了我一个错误,预期的值是一个字符串,但它收到了未定义的信息。即使在请求负载中也清晰可见。我确实检查了架构,它似乎是正确的。现在我不知道为什么会这样。实际上,我在解析器中收到数据,但所有数据都作为对象在单个变量(密码)中,而另一个变量(电子邮件)未定义。我没有会影响传入请求的中间件。
客户端查询:
signIn: (email: string, password: string) => requests.post({query: `
query ($email: String!, $password: String!) {
signIn(email: $email, password: $password) {
_id
name
email
avatar
admin
rents{
_id
}
createdAt
updatedAt
}
}
`, variables: {
email: email,
password: password,
}}),
Network panel error
Request body
Schema query
Resolver and return outcome when executing the request
您的 signIn
功能已损坏。它不接收 email
和 password
作为前两个参数,因为您的方法已经声明了它们。与每个解析器函数一样,第一个参数是父对象(在 Query
字段的情况下是根对象),第二个参数是 参数对象 .
您服务器代码中日志语句的输出应该已经很明显了。
要修复您的代码,请使用
const Query = {
async signIn(_root, args, _context) {
// ^^^^
const { email, password } = args;
…
}
};
或
const Query = {
async signIn(_root, {email, password}, _context) {
// ^^^^^^^^^^^^^^^^^
…
}
};
我遇到了问题。我搜索并尝试了一切。我认为这是关于网络问题或 GraphQL(Apollo-Server-Express) 中的错误。我正在发送一个似乎完全正确且很好的查询,测试了这些值并且它们都很好。我发送了请求,它显示了 200 状态代码,它显示内容是正确的。但是,当我在开发工具中打开网络 window 时,问题就出现了。它给了我一个错误,预期的值是一个字符串,但它收到了未定义的信息。即使在请求负载中也清晰可见。我确实检查了架构,它似乎是正确的。现在我不知道为什么会这样。实际上,我在解析器中收到数据,但所有数据都作为对象在单个变量(密码)中,而另一个变量(电子邮件)未定义。我没有会影响传入请求的中间件。
客户端查询:
signIn: (email: string, password: string) => requests.post({query: `
query ($email: String!, $password: String!) {
signIn(email: $email, password: $password) {
_id
name
email
avatar
admin
rents{
_id
}
createdAt
updatedAt
}
}
`, variables: {
email: email,
password: password,
}}),
Network panel error
Request body
Schema query
Resolver and return outcome when executing the request
您的 signIn
功能已损坏。它不接收 email
和 password
作为前两个参数,因为您的方法已经声明了它们。与每个解析器函数一样,第一个参数是父对象(在 Query
字段的情况下是根对象),第二个参数是 参数对象 .
您服务器代码中日志语句的输出应该已经很明显了。
要修复您的代码,请使用
const Query = {
async signIn(_root, args, _context) {
// ^^^^
const { email, password } = args;
…
}
};
或
const Query = {
async signIn(_root, {email, password}, _context) {
// ^^^^^^^^^^^^^^^^^
…
}
};