80 phút
Express.js Framework
Giới thiệu Express
Express là framework web nhanh, không quan điểm và tối giản cho Node.js.
Cài đặt Express
npm install express
Ứng dụng Express cơ bản
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(port, () => {
console.log(`Server running on http://localhost:${port}`);
});
Routing
Các phương thức HTTP
app.get('/users', (req, res) => {
res.send('Get all users');
});
app.post('/users', (req, res) => {
res.send('Create new user');
});
app.put('/users/:id', (req, res) => {
res.send(`Update user ${req.params.id}`);
});
app.delete('/users/:id', (req, res) => {
res.send(`Delete user ${req.params.id}`);
});
Middleware
Built-in Middleware
app.use(express.json()); // Parse JSON bodies
app.use(express.urlencoded({ extended: true })); // Parse URL-encoded bodies
Custom Middleware
app.use((req, res, next) => {
console.log(`${req.method} ${req.url}`);
next();
});
// Authentication middleware
const authMiddleware = (req, res, next) => {
const token = req.headers.authorization;
if (!token) {
return res.status(401).send('Unauthorized');
}
next();
};
app.get('/protected', authMiddleware, (req, res) => {
res.send('Protected route');
});
Router Module
// routes/users.js
const express = require('express');
const router = express.Router();
router.get('/', (req, res) => {
res.send('Get all users');
});
router.get('/:id', (req, res) => {
res.send(`Get user ${req.params.id}`);
});
module.exports = router;
// app.js
const userRoutes = require('./routes/users');
app.use('/users', userRoutes);
Bài tập thực hành
Hãy tạo RESTful API cho quản lý sản phẩm!