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ụ:
req.query
Dùng để lấy dữ liệu của các tham số query string.
Ví dụ: URL: /search?term=value
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ụ:
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ụ:
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.).
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
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:
- 200 OK: Yêu cầu được xử lý thành công.
- 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).
- 400 Bad Request: Yêu cầu không hợp lệ (do thiếu thông tin, sai định dạng, v.v.).
- 401 Unauthorized: Người dùng không có quyền truy cập (chưa xác thực).
- 403 Forbidden: Người dùng không có quyền truy cập tài nguyên (dù đã xác thực).
- 404 Not Found: Không tìm thấy tài nguyên.
- 500 Internal Server Error: Lỗi xảy ra trên server.
- 502 Bad Gateway: Server đóng vai trò proxy nhận phản hồi không hợp lệ từ upstream server.
- 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ì).
- 504 Gateway Timeout: Server đóng vai trò proxy không nhận được phản hồi từ upstream server kịp thời.