Объект обновления маршрута PUT с неверным идентификатором.
Я попытался изменить значение с params.id
на body.id
, но оно все равно не изменило вывод. Он обновляет, но обновляет только первый созданный объект, который не соответствует отправленному идентификатору.
app.put('/:id', jsonParser, (req, res) => {
const requiredFields = ['destination', 'when', 'lastDayOfTrip'];
for (let i=0; i<requiredFields.length; i++) {
const field = requiredFields[i];
if (!(field in req.body)) {
const message = `Missing \`${field}\` in request body`
console.error(message);
return res.status(400).send(message);
}
}
if (req.params.id !== req.body.id) {
const message = `Request path id (${req.body.id}) and request
body id (${req.body.id}) must match`;
console.error(message);
return res.status(400).send(message);
}
TripPost
.update({
id: req.params.id,
destination: req.body.destination,
when: req.body.when,
lastDayOfTrip: req.body.lastDayOfTrip
})
.catch( err => res.status(500).json({ message: 'Something went
wrong'}));
console.log(TripPost)
res.status(204).end();
});
Предполагается, что маршрут PUT обновляет объект с соответствующим идентификатором. Вместо этого обновляется только первый созданный объект, даже если это не идентификатор, который был отправлен.