Клиент стучит на сервер и отдает ему объект:
async function postData() {
try {
let res = await fetch("http://localhost:3000/data", {
method: "POST",
mode: "cors",
body: JSON.stringify({
name: "Vasya",
age: 10,
status: true,
}),
headers: { "Content-type": "application/json" },
});
console.log(res);
let data = await res.json();
console.log(data);
} catch (error) {
console.error(error);
}
}
На сервере его получаю и обрабатываю тут:
app.post("/data", async (request, response) => {
try {
let user = new Data({
name: request.body.name,
age: request.body.age,
status: request.body.status,
});
await user.save();
response.redirect("/main-page");
} catch (error) {
throw error;
}
});
Нужно ли делать дополнительные проверки вообще при post запросе? - что-то типа такого:
req.method === "POST"? /*делаем что-то*/ : /*обрабатываем ошибку*/
Вообще нужно ли это или в данном случае конструкции try-catch для всего этого достаточно?
Все это для того, чтобы если данные, полученные из боди запроса, не соответствуют схеме, выкинуть ошибку, если все хорошо, отправить в БД.