iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
Modern Web

用 Node.js 打造後端 API 系列

這系列的挑戰會教大家利用 Express.js & MongoDB 來建構並部署CodingSchool的 API.

鐵人鍊成 | 共 30 篇文章 | 6 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day 01 - 開發環境設置

簡介 這學期修了學校開的網路服務程式設計,到了期末要完成一個全端專案。所以呢,我希望能超前部署,在學期初就完成後端API的demo。未來在與同學合作專案時,能...

2022-09-09 ‧ 由 Nicolas 分享
DAY 2

Day 02 - 資料庫設置

前言 昨天將基本的CRUD功能寫在route file裡,但往後要處理複雜邏輯&功能越寫越多時,將code寫在同一個檔案會變得很難讀也不好debug。因此,我...

2022-09-10 ‧ 由 Nicolas 分享
DAY 3

Day 03 - 建立第一組Model & CRUD功能

建立Bootcamp Model 完成資料庫的設置後,接著我們就能為第一筆資料(Bootcamp)訂定Schema!首先,建立一個models資料夾,並在裡面...

2022-09-11 ‧ 由 Nicolas 分享
DAY 4

Day 04 - 自訂錯誤處理函式

介紹asyncHandler 在bootcamps controller中,CRUD 函式目前都是以try & catch 來處理錯誤我們可以透過撰寫...

2022-09-12 ‧ 由 Nicolas 分享
DAY 5

Day 05 - 進階搜尋結果

前言 在前面的GET請求中,我們只能一次性地拿到全部bootcamps的資料或特定ID的資料但使用者可能會依自身的需求與條件來選擇適合自己的bootcamp以...

2022-09-13 ‧ 由 Nicolas 分享
DAY 6

Day 06 - 進階搜尋結果2

前言 昨天我們用了filtering來搜尋符合在req.query中的key value pair的bootcamp資料但有時候使用者只希望得到bootcam...

2022-09-14 ‧ 由 Nicolas 分享
DAY 7

Day 07 - 進階搜尋結果3

Pagination資料 當搜尋結果有很多筆資料時,我們就需要用到分頁(pagination)來處理資料呈現的效果首先在removeFields後加上page...

2022-09-15 ‧ 由 Nicolas 分享
DAY 8

Day 08 - 建立Model Relationships

前言 處理完getBootcamps controller的邏輯後(filtering, select, sort, pagination)接著我們要建立另一...

2022-09-16 ‧ 由 Nicolas 分享
DAY 9

Day 09 - 不同筆資料間的互動

前言 昨天我們在course model引入了bootcamp的資料但當使用者向伺服器發送GET courses的請求時,只會收到course的資料&boot...

2022-09-17 ‧ 由 Nicolas 分享
DAY 10

Day 10 - 完成Course CRUD功能

前言 在完成了與Bootcamp間的互動後,接著就來完成Course的CRUD功能 GET 請求單一課程 POST 新增課程到指定bootcamp PUT...

2022-09-18 ‧ 由 Nicolas 分享