在 RESTful API 中, 路由(Route) 與 參數(Parameter) 是設計 API 的核心。好的路由設計能讓 API 清晰易懂,而參數則能讓 API 更加靈活。今天我們會用 Node.js / Express 來示範如何設計 API 路由與參數。
Express 提供兩種主要的參數形式:
我們在昨天的 index.js 基礎上,加入參數功能:
const express = require('express');
const app = express();
const port = 3000;
app.use(express.json());
const todos = [
{ id: 1, task: '學習 API 基礎', done: true },
{ id: 2, task: '撰寫第一個 API', done: false },
{ id: 3, task: '理解路由設計', done: false }
];
// 取得所有 Todo
app.get('/api/todos', (req, res) => {
// 使用查詢參數篩選
const { done } = req.query;
if (done) {
const filtered = todos.filter(todo => String(todo.done) === done);
return res.json(filtered);
}
res.json(todos);
});
// 取得單一 Todo(路徑參數)
app.get('/api/todos/:id', (req, res) => {
const id = parseInt(req.params.id);
const todo = todos.find(t => t.id === id);
if (!todo) {
return res.status(404).json({ error: 'Todo not found' });
}
res.json(todo);
});
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}`);
});
node index.js