Việc học lập trình backend ban đầu có thể khiến bạn cảm thấy choáng ngợp — nào là cơ sở dữ liệu, API, định tuyến, triển khai — vậy bạn nên bắt đầu từ đâu?
Tin vui là: Bạn có thể xây dựng API backend đầu tiên của mình bằng Node.js và Express chỉ trong 15 phút. Và đến cuối bài viết này, bạn sẽ có một API hoạt động sẵn sàng để sử dụng!
Hãy bắt đầu ngay thôi 👇
Chúng ta sẽ xây dựng gì?
Một API đơn giản về sách với 3 tuyến (route):
GET /books
— Liệt kê tất cả sáchPOST /books
— Thêm sách mớiGET /books/:id
— Lấy thông tin sách theo ID
Bước 1: Khởi tạo dự án
mkdir books-api
cd books-api
npm init -y
npm install express
Tạo một file có tên làindex.js
Bước 2: Tạo một server Express đơn giản
const express = require('express');
const app = express();
const port = 3000; app.use(express.json()); // for parsing JSON app.listen(port, () => { console.log(`Server is running on http://localhost:${port}`);
});
Chạy server:
node index.js
Bước 3: Thêm các route về sách
let books = [ { id: 1, title: 'Clean Code' }, { id: 2, title: 'The Pragmatic Programmer' },
]; // GET all books
app.get('/books', (req, res) => { res.json(books);
}); // GET a book by ID
app.get('/books/:id', (req, res) => { const book = books.find(b => b.id === parseInt(req.params.id)); if (!book) return res.status(404).send('Book not found'); res.json(book);
}); // POST a new book
app.post('/books', (req, res) => { const book = { id: books.length + 1, title: req.body.title, }; books.push(book); res.status(201).json(book);
});
Giờ bạn có thể:
- Dùng Postman hoặc Insomnia để gửi các yêu cầu GET, POST
- Thử truy cập tại: http://localhost:3000/books
Bạn vừa học được gì?
- Cách thiết lập server Express
- Cách định tuyến cơ bản trong Node.js
- Xử lý dữ liệu JSON gửi từ client
- Làm việc với tham số động trong URL
Đây là bước đầu tiên để xây dựng các ứng dụng backend thực tế.
Muốn học sâu hơn?
Đây chỉ là một cái nhìn thoáng qua về những gì bạn có thể xây dựng với Node.js. Nếu bạn thích bài học này, mình đã tạo một khóa học toàn diện về phát triển backend bao gồm: ✅ Node.js, Express, TypeScript
✅ MongoDB, PostgreSQL, Mongoose
✅ REST & GraphQL APIs
✅ Xác thực người dùng, Stripe, Docker
✅ GitHub Actions, CI/CD và nhiều hơn nữa