計劃:為訂單列表加入分頁
目標
為 GET /orders 加入游標分頁,而不改變現有客戶端所收到的結果。
步驟
- 在 src/routes/orders.ts 中,從查詢字串讀取 limit 和 cursor。limit 預設為 50,上限為 200。
- 在 src/db/orders.ts 中,新增 listOrders({ limit, cursor }),先按 created_at 再按 id 排序,並同時回傳 nextCursor。
- 當兩個參數都沒有傳送時,如常回傳完整列表。否則回傳 { items, nextCursor }。
- 在 tests/orders.test.ts 加入第一頁、下一頁及最後一頁的測試。
驗證
執行 npm test -- orders。然後請求 /orders?limit=2 兩次,第二次傳入 nextCursor:應得到四張不同的訂單,沒有重複。
不應做的事
更改 orders 資料表,或更改沒有傳送任何參數時的回應。