📖 Node.js & Express Nâng cao - Express.js Framework
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!

📝 Bài tập (1)

  1. Xây dựng CRUD API cho resource products

Bài học "Express.js Framework" - Khóa học "Node.js & Express Nâng cao"