Я пытаюсь сделать функцию обновления, где пользователь может поместить новые данные и данные на сервере будут обновлены, простая задача, однако, когда я пытаюсь PUT новые данные, тело всегда неопределено.
Данные, которые отправляются:
request: {
method: 'PUT',
url: '/api/v1.0/articles/1',
header: {
'user-agent': 'PostmanRuntime/7.17.1',
accept: '*/*',
'cache-control': 'no-cache',
host: 'localhost:3000',
'accept-encoding': 'gzip, deflate',
'content-length': '98',
connection: 'keep-alive'
}
},
response: {
status: 404,
message: 'Not Found',
header: [Object: null prototype] {}
},
Теперь я попытался передать его как ключи, используя другие методы, а не метод RAW, это то, что находится внутри тела, которое я пытаюсь передать:
{
"title": "another article",
"fullText": "again here is some text hereto fill the body"
}
Это функция, которая должна обновлять данные, но она не определена из запроса пут.
router.put("/:id", updateArticle);
function updateArticle(cnx, next) {
let id = parseInt(cnx.params.id);
console.log(cnx);
if (articles[id - 1] != null) {
//articles[id - 1].title = cnx.request.body.title;
cnx.body = {
message:
"Updated Successfully: \n:" + JSON.stringify(updateArticle, null, 4)
};
} else {
cnx.body = {
message:
"Article does not exist: \n:" + JSON.stringify(updateArticle, null, 4)
};
}
}
Я использую почтальон, Body -> Raw |JSON, я должен упомянуть, что все другие методы работают отлично - удалить, создать, getAll, getById