Я хочу отправить запрос PATCH на мой сервер js узла, который изменяет значения в моем пользователе. В моем маршруте PATCH для пользователя я добавил способ обработки массивов «реквизиты» и «значения» для изменения пользовательских данных.
Это мой патч для узла.
router.patch("/:userID", checkAuth, (req, res, next) => {
const id = req.params.userID;
const updateOps = {};
console.log(req.body);
for (const ops of req.body) {
updateOps[ops.propName] = ops.value;
}
User.update({ id: id }, { $set: updateOps })
.exec()
.then(result => {
res.status(200).json({
message: 'User updated',
});
})
.catch(err => {
console.log(err);
res.status(500).json({
error: err
});
});
});
Мой массив PATCH в формате json выглядит следующим образом:
[
{"propName":"name", "value": "Peter"}
]
А мой модифицированный API выглядит так:
@FormUrlEncoded
@PATCH("user/{id}")
Call<User>patchUser(
@Path("id") String id,
@Field("propName") String prop,
@Field("value") String value
);
Как мне изменить api на массив с propName и значением?