--- tags: Node.js 直播班 - 2022 春季班 --- # 🏅 Day 16 ## req.params 取得特定資料 ### 參考資源 [Express 4.x - API 參照(req.params)](https://expressjs.com/zh-tw/api.html#req.params) [params - 取得指定路徑](https://courses.hexschool.com/courses/1670869/lectures/39299605)(章節影片) ### 題目(將答案寫在 HackMD 並提交至回報區) 延續 Day 15 每日任務,練習取得(GET) 特定貼文資料 請在先前每日任務的 express [專案](https://github.com/dogwantfly/express-add-post)使用 express 提供的 req.params 取得貼文 id,並使用 mongoose 尋找符合 id 的資料,最後 response 該特定貼文資料(若 id 不存在可做簡易錯誤處理) 例如:例如當 client 端輸入這個[網址](https://www.facebook.com/sfismy/posts/5281803261839276)時,可以 response 該特定貼文資料 將 routes/posts.js 中,取得單一貼文的程式碼貼至 HackMD 並提交至回報區 回報流程 --- 請同學依照下圖教學觀看解答、回報答案:  回報格式:請在「回報區」貼上 CodePen 或 HackMD 連結回報答案 (為了統計人數,請同學依序加上「報數」) <!-- 解答 範例參考(可自行優化程式碼) ```javascript router.get('/:id', async(req, res, next) => { try { const id = req.params.id; const post = await Post.find({_id: id }); if (post.length) { res.status(200).json({ status: 'success', data: { post } }); } else { res.status(400).json({ status: 'fail', message: "id 不存在" }); } } catch (err) { res.status(400).json({ status: 'fail', message: err.message }); } }) ``` --> 回報區 --- | 報數 | 組別 / 名字 | codepen / hackMD / 其他回饋 | | ---- | -------------------- | ------------------------------------------------------------- | | 1 | 第 6 組 / Wendy | [HackMD](https://hackmd.io/@0k_MSPdgRPujozP6w_D-bA/H1QXcnOB5) | | 2 | 第 2 組 / Jin | [HackMD](https://hackmd.io/or_acZW4TtitlXIKlxMX6g) | | 3 | 第 3 組 / Hobby | [HackMD](https://hackmd.io/@hobbyling/day16) | | 4 | 第 14 組|East | [HackMD](https://hackmd.io/MZeKPOBnScaNm8XxQ7WErg) | | 5 | 第 5 組 / Hazel | [HackMD@Hazel](https://hackmd.io/@hazelwu/day16) | | 6 | 第 9 組 / 黃士桓 | [HackMD](https://hackmd.io/utW6lzofTnm7BrSerUso5w) | | 7 | 第 4 組 / 苡安 | [HackMD](https://hackmd.io/SH-Ibza6R_efIGr1vzFAAA) | | 8 | 第 4 組 / 小宥 | [HackMD](https://hackmd.io/A9ZRk_-wRVa8Jvec8ktL8A) | | 9 | 第 3 組 / HedgehogKU | [HackMD](https://hackmd.io/Du8-oD4nQCSoNSpxdS7VNA) | | 10 | Naiky | [HackMD](https://hackmd.io/@UWBC7rrORiKaLSBg226mZg/Sy0vgA_Bq) | | 11 | 第 4 組 / sihle | [HackMD](https://hackmd.io/@bugbug777/HkSEzbtB5) | | 12 | 第 3 組 / Justin | [HackMD](https://hackmd.io/zv2UBmJBRMWm2FwGwg5C2g) | | 13 | 第 2 組 / peter | [HackMD](https://hackmd.io/@peterchen1024/BkFuemFrc) | | 14 | 第 8 組 / Hank | [HackMD](https://hackmd.io/@hank-hsiao/rkbQ8SYB5) | |15 |第 9 組 / konstante |[HackMD](https://hackmd.io/yMWvCbUyS8-rh7Cokc3MGA?both) | | 16 | 第 2 組 / wendy.li | [HackMD](https://hackmd.io/KAu6JTzwQQCFy3839xvrPg) | 17 | 第 14組 / uniza | [HackMD](https://hackmd.io/8dIssNQfQ4uagPIoMufv3A) | 18 | 第 15 組 / Chiu | [HackMD](https://hackmd.io/xIGDDIutSA2J1X3S9esiNw) | 19 | 第 1 組 / Claire | [HackMD](https://hackmd.io/Ni8u9-tjQcKzEyzLmkDlVg)| | 20|第13組 / KFC|[HackMD](https://hackmd.io/2WO0pFGjRwu27UpRf2aadg?view) | 21|第2組 / Rikkubook|[HackMD](https://hackmd.io/fR42OIsVTHCXGlaPbVNJ0w) | 22|第 11 組 / Han Lai |[HackMD](https://hackmd.io/JpSFWkYDRLCQJ0qOFAy6Uw?view) | 23|第 7 組 / jason06286 |[HackMD](https://hackmd.io/VlFE2gM5RF-dA_ElESiw-g) | 24|第 12 組 / Jimmy |[HackMD](https://hackmd.io/EaVByPW3RQ-j8WYd0DmYWw) | 25|第 16 組 / 皓皓 |[HackMD](https://hackmd.io/8PPerWG8SdeAmWNnRqoQmw) | 26|第 3 組 / hiYifang |[HackMD](https://hackmd.io/@gPeowpvtQX2Om6AmD-s3xw/HkiSA6Jrc) | 27|第 2 組 / joe chang |[HackMD](https://hackmd.io/uaRTw9c0TgOrADyXMmGL0Q?view#429---reqparams) | 28 | 第 9 組 / Reynold | [HackMD](https://hackmd.io/@dL7AuQEMQ6KpCSRHaYElOA/H1d-i9ABc) | 29 | 第 5 組 / Nap | [HackMD](https://hackmd.io/wQNv0ObcTdu7YzRYGA3qWg) | 30 | 第 8 組 / Jordan Tseng | [HackMD](https://hackmd.io/9vcvkEfBSaqdjl7yNZn2_w?view) | 31 | 第 1 組 / Ed Huang | [HackMD](https://hackmd.io/TQYyXfXYSXiBo9m09VIiyw?view) | 32 | nick6303 | [HackMD](https://hackmd.io/VwFk66OOR6elYwKAVswbPA) | 33 | 第 11 組 / mandy | [HackMD](https://hackmd.io/LLtQSvcmS92s_bidBiZdvA?view) | 34 | 第 3 組 / 小葉 | [HackMD](https://hackmd.io/@FyKv37KcRSWqAO_e336w8g/H1VYtSUI9) | 35 | 第 10 組 / 橘子 | [HackMD](https://hackmd.io/o_YGzF63RQOjMBe0bINGMA) | 36 | 第 15 組 / yolala | [HackMD](https://hackmd.io/xse31TSSTdCqKE__onXLsA)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up