Node.js Apollo GraphQL突变:操作未定义变量
我能够让graphql在客户端和服务器graphql平台上正常工作。但是,当我尝试调用客户机文件中的变异时,我最终得到了Node.js Apollo GraphQL突变:操作未定义变量,node.js,reactjs,graphql,Node.js,Reactjs,Graphql,我能够让graphql在客户端和服务器graphql平台上正常工作。但是,当我尝试调用客户机文件中的变异时,我最终得到了错误:响应未成功:收到状态代码400,并且在网络选项卡中,我被告知变量\“$parkingspace\”未由操作\“saveParkingLot\”定义。假设变异接受一个对象数组 typedef是: 类型停车空间{ id:Int! 所有者ID:字符串! 帕金吉德:绳子! } 输入停车空间{ id:字符串! 所有者ID:字符串! 帕金吉德:绳子! } 类型突变{ savePark
错误:响应未成功:收到状态代码400
,并且在网络选项卡中,我被告知变量\“$parkingspace\”未由操作\“saveParkingLot\”
定义。假设变异接受一个对象数组
typedef是:
类型停车空间{
id:Int!
所有者ID:字符串!
帕金吉德:绳子!
}
输入停车空间{
id:字符串!
所有者ID:字符串!
帕金吉德:绳子!
}
类型突变{
saveParkingLot(parkingLot:[ParkingSpace]):[ParkingSpace]!
}
冲突解决程序正在从数据库中删除现有信息,然后保存新信息
saveParkingLot:async(\uz,args)=>{
ParkingSpace.collection.drop();
const Parkingaray=新停车空间({
停车场:args.parkingLot,
});
parkingArray.save();
返回args.parkingLot;
},
},
但是该代码在客户端失败。我省略了变量:
中的{}
,因为它出于某种原因创建了语法错误
const SAVE\u PARKING\u LOT=gql`
变异保存停车场($parkingLot:parkingspace!){
保存停车场(停车场:$Parkingspace){
身份证件
所有者
帕金吉德
}
}
`;
const[saveParkingLot]=使用变异(SAVE_parkinglot){
ONERR(错误){
控制台日志(err);
},
});
//调用时突变失败
const saveParkingLotButton=()=>{
储蓄停车场({
变量:[
{id:“0”,所有者id:“0”,parkingID:“0”},
{id:“1”,所有者id:“1”,parkingID:“1”},
{id:“2”,所有者id:“2”,parkingID:“2”},
{id:“3”,所有者id:“3”,parkingID:“3”},
],
});
};
我哪里出错了?将您的客户端查询更改为:
mutation saveParkingLot($parkingLot: [ParkingSpaces]) {
saveParkingLot(parkingLot: $parkingLot) {
id
ownerID
parkingID
}
}
在“变量”部分中,使用如下内容:
variables: {
parkingLot: [
{ id: "0", ownerID: "0", parkingID: "0" },
{ id: "1", ownerID: "1", parkingID: "1" },
{ id: "2", ownerID: "2", parkingID: "2" },
{ id: "3", ownerID: "3", parkingID: "3" },
]
},
参考: