Các thuộc tính thường dùng của tham số request (req), response (res) khi khai báo route trong express

Các thuộc tính thường dùng của tham số request (req), response (res) khi khai báo route trong express

Bài viết này, chúng ta sẽ tìm hiểu về một số thuộc tính thường dùng của tham số request (req), response (res) khi khai báo route trong express

1. request

Tham số request (thường viết tắt là req) trong các hàm callback khi khai báo route. Đối tượng này cung cấp nhiều thuộc tính và phương thức để truy cập thông tin về yêu cầu. Dưới đây là một số các thuộc tính hay dùng của req khi khai báo route.

req.params

Dùng để lấy dữ liệu của các tham số được định nghĩa trong route.

Ví dụ:

app.get('/user/:id', (req, res) => {
const userId = req.params.id;
res.send(`User ID: ${userId}`);
});

req.query

Dùng để lấy dữ liệu của các tham số query string.

Ví dụ: URL: /search?term=value


app.get('/search', (req, res) => {
const term = req.query.term;
res.send(`Search term: ${term}`);
});

req.body

Dùng để lấy dữ liệu trong body mà người dùng gửi lên. (Lưu ý: Cần phải khai báo express.json())

Ví dụ:


app.use(express.json());
app.post('/login', (req, res) => {
const { username, password } = req.body;
res.send(`Login with username: ${username}`);
});

req.headers

Dùng để truy cập toàn bộ thông tin trong headers của người dùng (như token, content-type, User-agent...)

Ví dụ:


app.use((req, res) => {
res.json(req.headers);
});

2. response (res)

Trong Express.js, tham số res (viết tắt của response) trong router handler đại diện cho phản hồi HTTP mà ứng dụng sẽ gửi lại cho client. Tham số này cung cấp nhiều phương thức và thuộc tính để định nghĩa nội dung, trạng thái, và định dạng phản hồi.

Một số thuộc tính thường dùng của res

res.send(): Dùng để gửi phản hồi đến client và nó tự động xác định loại nội dung dựa trên kiểu dữ liệu (chuỗi, JSON, buffer, v.v.).


app.get('/', (req, res) => {
res.send('Hello World!'); // Gửi phản hồi dạng chuỗi
});

app.get('/json', (req, res) => {
res.send({ message: 'Hello, JSON!' }); // Gửi phản hồi JSON
});

res.json(): Dùng để gửi phản hồi dạng json. Nó tự động thiết lập header Content-Type: application/json


app.get('/user', (req, res) => {
res.json({ id: 1, name: 'John Doe' });
});

res.status(code): Dùng để gửi mã phản hồi lại cho người dùng. Thường đi kèm res.json(), res.send()

Một số mã status hay sử dụng:

  1. 200 OK: Yêu cầu được xử lý thành công.
  2. 201 Created: Tài nguyên mới được tạo thành công (thường dùng khi tạo mới dữ liệu).
  3. 400 Bad Request: Yêu cầu không hợp lệ (do thiếu thông tin, sai định dạng, v.v.).
  4. 401 Unauthorized: Người dùng không có quyền truy cập (chưa xác thực).
  5. 403 Forbidden: Người dùng không có quyền truy cập tài nguyên (dù đã xác thực).
  6. 404 Not Found: Không tìm thấy tài nguyên.
  7. 500 Internal Server Error: Lỗi xảy ra trên server.
  8. 502 Bad Gateway: Server đóng vai trò proxy nhận phản hồi không hợp lệ từ upstream server.
  9. 503 Service Unavailable: Server tạm thời không thể xử lý yêu cầu (quá tải hoặc bảo trì).
  10. 504 Gateway Timeout: Server đóng vai trò proxy không nhận được phản hồi từ upstream server kịp thời.


Được viết bởi: Ngọc Ngô

Bài viết cùng chuyên mục

Vote 5