#express
#экспресс
Вопрос:
У меня проблема с моим запросом на обновление. Это работает, когда я создаю или получаю пользователя..
update(id) {
return http.put(`/users/${id}`);
}
//
router.put("/:id", users.update);
//
exports.update = (req, res) => {
const user = {
id: req.params.id,
name:req.body.name,
...
};
User.update({where: {
id: req.params.id
}} , user).then(
() => {
res.status(201).json({
message: 'Thing updated successfully!'
});
}
).catch(
(error) => {
res.status(400).json({
message:user,
error: error
});
}
);
};
//
Почтальон
ПОМЕСТИТЕ http://localhost:8081/api/users/2
ТЕЛО {
«имя»: «h2@gmail.com »
}
{ «сообщение»: { «идентификатор»: «2», «имя»: «h2@gmail.com » }, «ошибка»: { «Сгенерированное сообщение»: false, «код»: «ОШИБКА УТВЕРЖДЕНИЯ», «ожидаемый»: true, «оператор»: «==» } }
Комментарии:
1. попробуйте этот User.update(user,{where: { id: req.params.id }})
2. Хорошо, я отправляю его в качестве ответа, пожалуйста, примите его
Ответ №1:
Согласно sequilize docs, первым параметром должен быть объект для обновления, а вторым параметром должно быть условие.
User.update(user,{where: { id: req.params.id }})