В моем коде я пытаюсь сделать запрос PUT к бэкэнду приложений, используя Ax ios. Проблема возникла, когда метод в пользовательской службе, обрабатывающей этот запрос, возвратил нулевой ответ. Вот метод.
async idupdate (request, response)
{
const {_id} = request.query;
const {name = "", email = "", MACs = []} = request.body;
const user = await User.findByIdAndUpdate (_id, {name, email, MACs}, {new: true});
return response.json (user);
}
Используя console.log (ответ), я обнаружил, что на адрес отправлялось следующее:
body: {
params: { _id: '5eaa0d719bb04972b07920dd' },
name: 'a',
email: 'a@gmail.com',
MACs: [ '123', '456', '789' ] }
Метод, который делает запрос следующим образом.
const response = await api.put
(
"/useridupdate",
{
params:
{
_id
},
name,
email,
MACs
}
);
Мой вопрос вращается вокруг того факта, что в таком запросе, как этот ...
const response = await api.put
(
"/useridupdate",
{
params:
{
_id
}
}
);
... можно найти идентификатор в запросе запроса. Поэтому я полагаю, что ошибка заключается в том, как я пишу параметры запроса. На данный момент я просто изменил свой код, так что метод ищет идентификатор в body.params. Я знаю, что могу отправить такой идентификатор в «путь» запроса, но из-за стандартизации я бы не стал этого делать. Однако, если это единственный способ, я так и сделаю.