未找到 GraphQL 输入类型
GraphQL input type not found
我有一个用 Express / Apollo Server / GraphQL / MongoDB / Mongoose 制作的后端和一个用 React 制作的前端。
我有我的组件,我想在其中进行突变和查询,我检查了前端和后端之间的连接,它很好。
我在后端的突变:
createUser(input: SignupInput!): AuthUser!
input SignupInput {
name: String!
username: String!
email: String!
password: String!
}
AuthUser return 是一个用户!有更多字段,但我认为这不是必需的信息。
在我的前端
const NEW_USER = gql`
mutation CreateUser($type: SignupInput!) {
createUser(input: $type) {
user {
id
}
}
}
`;
const [newTest, { data }] = useMutation(NEW_USER);
const onSubmit = (formData) => {
newTest({
variables: {
name: formData.name,
username: formData.username,
email: formData.email,
password: formData.password,
},
});
};
错误 400 的网络响应:
"Variable \"$type\" of required type \"SignupInput!\" was not provided."
我真的不明白为什么会这样,我在其他人的代码中看到,使用后端输入类型的名称创建变量是可行的。
如果我尝试解构 SignInput!输入并写入 {$name: !String, ...) 我收到此错误:
Unknown argument \"name\" on field \"Mutation.createUser\".", locations: […], extensions: {…} }
newTest({
variables: {
input: {
name: formData.name,
username: formData.username,
email: formData.email,
password: formData.password,
}
},
});
变异函数中没有传递输入。
我有一个用 Express / Apollo Server / GraphQL / MongoDB / Mongoose 制作的后端和一个用 React 制作的前端。
我有我的组件,我想在其中进行突变和查询,我检查了前端和后端之间的连接,它很好。
我在后端的突变:
createUser(input: SignupInput!): AuthUser!
input SignupInput {
name: String!
username: String!
email: String!
password: String!
}
AuthUser return 是一个用户!有更多字段,但我认为这不是必需的信息。
在我的前端
const NEW_USER = gql`
mutation CreateUser($type: SignupInput!) {
createUser(input: $type) {
user {
id
}
}
}
`;
const [newTest, { data }] = useMutation(NEW_USER);
const onSubmit = (formData) => {
newTest({
variables: {
name: formData.name,
username: formData.username,
email: formData.email,
password: formData.password,
},
});
};
错误 400 的网络响应:
"Variable \"$type\" of required type \"SignupInput!\" was not provided."
我真的不明白为什么会这样,我在其他人的代码中看到,使用后端输入类型的名称创建变量是可行的。
如果我尝试解构 SignInput!输入并写入 {$name: !String, ...) 我收到此错误:
Unknown argument \"name\" on field \"Mutation.createUser\".", locations: […], extensions: {…} }
newTest({
variables: {
input: {
name: formData.name,
username: formData.username,
email: formData.email,
password: formData.password,
}
},
});
变异函数中没有传递输入。