在前一篇文章中,我們學會了如何使用 Node.js 設置一個基本的伺服器。今天,我們將進一步探討如何使用 Express.js 來構建一個簡單的 API,讓伺服器能夠回應用戶的請求,並與資料庫進行溝通。
Express.js 是一個為 Node.js 提供的輕量級 Web 應用框架,它使得構建伺服器和 API 變得更加容易。它提供了簡潔直觀的 API 來處理 HTTP 請求和回應,並且能與其他中介軟件(middleware)協作來完成更多功能,例如驗證和數據處理。
讓我們從一個簡單的範例開始,逐步學習如何使用 Express.js 構建 API 並回應用戶的請求。
npm install express
這會將 Express.js 安裝到你的專案中,並準備好我們後續的 API 構建。
const express = require('express');
const app = express();
const port = 3000;
// 設置解析 JSON 格式的中介軟件
app.use(express.json());
// 設置 API 路由
app.get('/', (req, res) => {
res.send('Welcome to my API!');
});
// 模擬數據庫中的數據
let users = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' }
];
// 取得所有用戶數據
app.get('/users', (req, res) => {
res.json(users);
});
// 取得特定用戶數據
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');
}
});
// 新增用戶
app.post('/users', (req, res) => {
const newUser = {
id: users.length + 1,
name: req.body.name
};
users.push(newUser);
res.status(201).json(newUser);
});
// 啟動伺服器
app.listen(port, () => {
console.log(`Server is running on http://localhost:${port}`);
});
require('express')
引入 Express.js 並建立了一個 Express 應用。express.json()
來解析從請求中傳入的 JSON 數據,這樣我們可以輕鬆地處理 API 的數據傳輸。/
:當訪問伺服器根目錄時,伺服器將回應 "Welcome to my API!"。/users
:當請求這個路徑時,伺服器將返回一個包含所有用戶的 JSON 格式數據。/users/:id
:這個路徑允許我們查詢特定 ID 的用戶,如果找不到對應的用戶,伺服器將返回 404 錯誤。/users
:這個路徑允許我們新增一個用戶,並將其添加到現有的用戶列表中。node app.js
http://localhost:3000
,你應該會看到 "Welcome to my API!" 的訊息。http://localhost:3000/users
可以取得所有用戶的數據。http://localhost:3000/users/1
可以取得 ID 為 1 的用戶數據。http://localhost:3000/users
可以新增用戶。Body
中選擇 raw
和 JSON
,並輸入以下內容來新增用戶:{
"name": "Charlie"
}
你會看到新用戶被成功添加到數據庫中。
使用 mongoose
來與 MongoDB 進行溝通。
使用 mysql2
來與 MySQL 資料庫進行連接。
在後續的文章中,我們將探討如何將 Express.js 與資料庫整合,實現真正的數據持久化。
結論
今天我們介紹了 Express.js 這個輕量級框架,並學習了如何使用它構建一個簡單的 API。Express.js 強大的路由功能和中介軟件支持讓它成為構建現代 Web 應用後端的理想選擇。通過這篇文章,你應該對如何處理 API 請求和回應有了初步的了解。接下來,我們將進一步探討 Express.js 與資料庫的整合,讓數據真正實現持久化。