接下來要來了解 REST API 的基本概念,並學習如何使用 Node.js 和 Express 框架建立一個簡單的 RESTful API。
REST(Representational State Transfer)是一種基於 HTTP 的架構風格,專為設計網路應用程序的 API 而創建。它的特點有以下幾個:
Express 是 Node.js 的輕量級網絡應用框架,非常適合用來構建 REST API。接下來要來介紹如何使用 Express 構建一個簡單的 REST API。
安裝 Express
在開始構建 API 之前,首先需要安裝 Express:
bash
npm install express
建立一個簡單的 REST API
js
const express = require('express');
const app = express();
const port = 3000;
// 模擬資料
let users = [
{ id: 1, name: 'Jimmy Doe' },
{ id: 2, name: 'Jane Doe' }
];
// 中介軟體,解析 JSON 請求體
app.use(express.json());
// 取得所有使用者 (GET)
app.get('/users', (req, res) => {
res.json(users);
});
// 根據 ID 取得特定使用者 (GET)
app.get('/users/:id', (req, res) => {
const user = users.find(u => u.id === parseInt(req.params.id));
if (user) {
res.json(user);
} else {
res.status(404).send('User not found');
}
});
// 新增使用者 (POST)
app.post('/users', (req, res) => {
const newUser = {
id: users.length + 1,
name: req.body.name
};
users.push(newUser);
res.status(201).json(newUser);
});
// 更新使用者 (PUT)
app.put('/users/:id', (req, res) => {
const user = users.find(u => u.id === parseInt(req.params.id));
if (user) {
user.name = req.body.name;
res.json(user);
} else {
res.status(404).send('User not found');
}
});
// 刪除使用者 (DELETE)
app.delete('/users/:id', (req, res) => {
const userIndex = users.findIndex(u => u.id === parseInt(req.params.id));
if (userIndex !== -1) {
users.splice(userIndex, 1);
res.status(204).send();
} else {
res.status(404).send('User not found');
}
});
// 啟動伺服器
app.listen(port, () => {
console.log(`Server running on http://localhost:${port}`);
});
在上面的例子中,定義了針對 users 資源的各種操作,每個操作都對應不同的 HTTP 方法和路徑。這樣的設計遵循了 RESTful 原則,讓 API 結構清晰而且更容易去理解。
要測試這個 API,可以使用以下工具:
bash
curl http://localhost:3000/users
今天學習了 REST API 的基本概念,並使用 Express 構建了一個簡單的 RESTful API。了解了 HTTP 方法如何與資源操作結合,並透過程式碼示範了 GET、POST、PUT 和 DELETE 請求的一些範例。在接下來的實作中,這些基礎知識能夠幫助我去建立出更複雜的 API 系統,並進行資料的持久化處理。