我目前正在构建后端,并且遇到了问题: 我已经有了/ users的路由,并且想要实现一个易于使用的PUT请求。 计划是,该请求仅需包含一个唯一标识符(在我的情况下为电子邮件)和应该更改的值。
因此,如果要更新用户的描述,则发送到后端的JSON对象具有以下形式: {“电子邮件”:“ foo@bar.com”,“描述”:“更新的描述”}
如果您要更新描述和用户名,则JSON应该看起来像
{“电子邮件”:“ foo@bar.com”,“描述”:“新描述”,“用户名”:“新用户名”}
我想你明白了,我正在努力做。
for(var key in body) {
if (key!="email") {
console.log("Key: "+key);
console.log("Body: "+body[key]);
db.run(`update users set ?=? where email=?`,[key,body[key],email], (err) => {
if (err) {
console.log(err.message);
}
});
console.log("Change!");
}
}
* body定义为request.body并包含JSON对象。它也可以正确解析JSON对象,我已经测试过了。
这样,我当前已设置了后端,但是如果我发送一个PUT请求,它会为每个试图更改的变量返回错误“ SQLITE_ERROR:靠近“?”:语法错误”。我知道,我可以简单地对表中的每一列运行单独的更新查询,但是有一次我试图不使用变通方法并保持灵活性:)
感谢您的所有帮助!