iT邦幫忙

2023 iThome 鐵人賽

DAY 23
0

我們今天要先來實作POST的部分,因為我們的資料庫還沒有資料,所以要新增一些資料進去。
我們在建立post這個route之前要先加兩行程式碼進來,把它們放到const app = express()的下面

app.use(express.json());
app.use(express.urlencoded({ extended }));

簡單來說,這兩行程式碼的目的是將請求的內容解析並轉換為可讀取的格式,以便應用程式能夠對其進行處理。
接著就是我們的post route

app.post("/animals", async (req, res) => {
  try {
    let { name, age, species } = req.body;
    let newAnimal = new Animal({
      name: name,
      age: age,
      species: species,
    });


    let savedAnimal = await newAnimal.save();
    return res.send({
      msg: "資料儲存成功",
      savedObject: savedAnimal,
    });
  } catch (e) {
    return res.status(500).send("儲存資料發生錯誤");
  }
});

解說:
當收到 POST 請求時,該路由處理函式會嘗試解構 req.body 對象,獲取請求主體中的 name、age 和 species 屬性的值。
接下來,它創建了一個新的 Animal 物件,並將從請求獲取的屬性值分配給對應的屬性。
然後,它使用 await newAnimal.save() 將新的 Animal 物件保存到資料庫中,並獲取保存後的物件。
最後,它回應一個 JSON 物件,其中包含成功訊息和保存後的物件。
如果在處理過程中發生錯誤,它會回應一個 HTTP 狀態碼為 500 的錯誤回應。
這段程式碼可以將收到的 POST 請求中的資料存儲到資料庫中,並回應相應的訊息給客戶端。

最後到Postman把HTTP method 改成Post,然後打上這個網址,還有在body輸入這些屬性
https://ithelp.ithome.com.tw/upload/images/20230916/20161799f2Kok5hpq4.png
最後就會看到成功畫面。
https://ithelp.ithome.com.tw/upload/images/20230916/20161799fHQqlNMpbX.png
這邊建議大家可以多多新增資料試試看!


上一篇
day22 - Postman
下一篇
day24 - GET
系列文
一起進入網頁後端的世界吧 Restful Api 啟動 ! 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言