# 🏅 Day 15 - req.body 若客戶端請求有 request body(像是 POST 的時候),可使用 req.body 取得 request body 的 `key: value` 資料 範例 ``` POST 'http://localhost:3000/posts' 將資料帶入 request body { title: '貼文標題', content: '貼文內容', image: 'https://img-url' } ``` ```javascript app.post('/products', async (req, res, next) => { try { const data = req.body; // 取得帶入的資料 if (data.content) { // 如果有資料 // 使用 mongoose 將 data 新增至資料庫 const newPost = await Post.create( { title: data.title, content: data.content, image: data.image } ); res.status(200).json({ status: 'success', message: '新增成功', }); } else { console.log("欄位填寫錯誤") } } catch (error) { console.log(error); } }); ``` ### 參考資源 - [Express - API](https://expressjs.com/zh-tw/api.html) 題目 --- 請嘗試透過 POST API 的 req.body [註冊會員](https://xd.adobe.com/view/c0763dbe-fc15-42e8-be0b-8956ed03e675-9525/screen/1fc65740-4d7f-4df7-ac4d-8cf0d573f4e2/),並使用 mongoose 將資料新增至 User Model 中,成功時回傳 `${暱稱} 註冊成功` ``` 資料: { nickname: 'Tom', email: 'tom@mail.com', password: 'abcd1234' } ``` 完整以下程式碼(補上 `...` 的部分): ```javascript= app.post('/register', async (req, res) => { try { const data = ...; if (nickname != '' && email != '' && password != '') { const newUser = await ...({ nickname: ..., email: ..., password: ... }); res.status(200).json({ status: 'success', message: `...`, }); } } catch (error) { console.log(error); } }); ``` ## 回報流程 將答案寫在 CodePen 並複製 CodePen 連結貼至底下回報就算完成了喔! 解答位置請參考下圖(需打開程式碼的部分觀看) ![](https://i.imgur.com/vftL5i0.png) <!-- 解答: app.post('/register', async (req, res) => { try { const data = req.body; if (nickname != '' && email != '' && password != '') { const newUser = await User.create({ nickname: data.nickname, email: data.email, password: data.password }); res.status(200).json({ status: 'success', message: `${暱稱} 註冊成功`, }); } } catch (error) { console.log(error); } }); --> 回報區 --- <!-- 將答案貼至下方表格內,格式: | Discord 暱稱 | [CodePen](連結) | --> | Discord | CodePen / 答案 | |:-------------:|:-----------------:| | xxx | [CodePen]() | | 苡安 | [hackmd](https://hackmd.io/@L7K9-66lSeagS28AP0_GjQ/HJnIoCBWC) | | Aida | [CodePen](https://codepen.io/ada23410/pen/xxeMVyL?editors=0010) | | jenny7532 | [CodePen](https://codepen.io/wei-chen-wu/pen/zYXeBaa) | | Chia Pin | [CodePen](https://codepen.io/joker-cat/pen/poBGEjL) | |wei|[CodePen](https://codepen.io/Wei-the-sasster/pen/MWRLbde?editors=1010)| |群嘉|[CodePen](https://codepen.io/efzdamnp-the-lessful/pen/gOyqgjp?editors=0010)| |william_hsu|[CodePen](https://codepen.io/william8815/pen/VwNgWXN)| |tung030374|[CodePen](https://codepen.io/tung__u/pen/BaEMwOb)| |Hank|[CodePen](https://codepen.io/tw1720/pen/NWmowrq)| |Tiya|[CodePen](https://codepen.io/Tiya_blank/pen/rNbQPbY)| |Lobinda|[CodePen](https://codepen.io/Lobinda/pen/bGJzZod)| |ej_chuang|[CodePen](https://codepen.io/EJChuang/pen/RwOdjLE)| |Ciel|[CodePen](https://codepen.io/nycteachen/pen/yLrraEv)| |Henry|[CodePen](https://codepen.io/hekman1122/pen/JjVwWxR?editors=0010)| | Fabio20 | [CodePen](https://codepen.io/fabio7621/pen/QWPROWJ?editors=1010) | | william威良 | [CodePen](https://codepen.io/snowman12320/pen/gOyJXbv) | | Benson | [CodePen](https://codepen.io/nosneb83/pen/LYvoOZx) | | 瑀君 | [HackMD](https://hackmd.io/@sh5ojkmt/Hk8iN0lGC) | | 2魚 | [CodePen](https://codepen.io/ijrekmsn-the-sans/pen/VwNJZrL) | | albertyang3576 | [CodePen](https://codepen.io/albertyang3576/pen/zYXVdpE) | | runweiting | [CodePen](https://codepen.io/weiting14/pen/oNOKBxj) |