當一個沒有正文資料的 POST 請求時,它應該回傳一個狀態碼 400,但它回傳一個帶有空物件的狀態碼 201。
這是代碼:
router.post('/', (req: Request, res: Response) => {
const transaction = new Transactions({
name: req.body?.name,
amount: req.body?.amount,
type: req.body?.type,
})
try{
const newTransaction = transaction.save();
return res.status(201).json(newTransaction);
}catch (err){
return res.status(400).json({message: err.message});
}
})
這是郵遞員的請求和回應:

uj5u.com熱心網友回復:
這看起來像 mongodb 和 mongoose。.save()回傳一個承諾并且應該被解決。您可以在此處使用 async / await 來完成。您作為回應回傳的是待處理的承諾。
router.post("/", async (req: Request, res: Response) => {
const transaction = new Transactions({
name: req.body?.name,
amount: req.body?.amount,
type: req.body?.type,
});
try {
const newTransaction = await transaction.save();
return res.status(201).json(newTransaction);
} catch (err) {
return res.status(400).json({ message: err.message });
}
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/490955.html
標籤:javascript 打字稿 表示 邮差
上一篇:PikaAmqps連接:使用AMQPConnectorAMQPHandshakeError完成連接嘗試:IncompatibleProtocolError
下一篇:d3根據高度改變條形圖顏色
