app.put('/trustRoutes/:id/:item', (req, res){
Я могу обновить данные с помощью одного параметра, но поскольку я хочу изменить только одно значение внутри этого объекта, вызов put заменит весь объект моим новым телом.
ниже то, что я пробовал.
app.put('/trustRoutes/:id/:item', (req, res) => {
readFile(data => {
const userId = req.params['id/item'];
// have also tried const userId = req.params.id.item
data[userId] = req.body;
//write data back to file
Я просмотрел другие примеры, но не смог найти ни одного, который бы обновлял данные вместо GET. Если есть один, который я пропустил, пожалуйста, дайте мне знать.
Запросы PUT отлично подходят для полной перезаписи ресурса и являются идемпотентными. Этот отвечать хорошо объясняет идемпотентность. Для частичного обновления ресурса лучше использовать запрос PATCH.
app.patch('/trustRoutes/:id/:item', (req, res) => {
readFile(data => {
data[userId] = req.params[id];
data[item] = req.params[item];
// A get request for this resource would now show both of the updated values
// Write file
data[userId] = { ...data[userId], ...req.body };