iT邦幫忙

2023 iThome 鐵人賽

DAY 27
0

我們總共介紹完4個HTTP Method,接下來就剩下最後一個delete了,我們趕緊把這個api 做完吧!
這邊是delete route的程式碼

app.delete("/animals/:_id", async (req, res) => {
  try {
    let { _id } = req.params;
    let deleteAnimal = await Animal.deleteOne({ _id });
    return res.send(deleteAnimal);
  } catch (e) {
    return res.status(500).send("無法刪除資料");
  }
});

相信這邊各位都看得懂程式碼不用解釋了哈哈哈
https://ithelp.ithome.com.tw/upload/images/20230916/20161799RI9hYnnMgx.png
我們假如要刪除Buddy這隻狗的資料,選擇DELETE然後輸入牠的id,按send之後就不會看到牠了QQ,可以用get來確認。
https://ithelp.ithome.com.tw/upload/images/20230916/20161799RwKxUqPsx7.png

這邊就完成了一個Restful API了,辛苦大家了,給自己一個掌聲。
喔對補充一下
let { _id } = req.paramslet id = req.params.id
這兩個其實是相同的功用只是要看是/:_id或者是/:id。
然後mongoose的功能例如deleteOne(), findOne(),save()等等的,都是返回Promise的非同步操作,在這段程式碼中,使用了 async 和 await 是為了處理 await Animal.deleteOne({ _id }) 這個操作,這是一個返回 Promise 的非同步操作。使用 async 和 await 可以確保在處理非同步操作時,程式碼按照預期的順序執行。

希望這邊有解決大家的疑惑。


上一篇
day26 - PATCH
下一篇
day28 - EJS 介紹
系列文
一起進入網頁後端的世界吧 Restful Api 啟動 !30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言