Đối tượng req biểu diễn HTTP Request và có các thuộc tính cho chuỗi truy vấn request, các tham số, body, HTTP Header, …
Trước khi vào chương, chúng ta tìm hiểu qua khái niệm Middleware là gì:
Theo vi.wikipedia: Middleware là phần mềm máy tính với nhiệm vụ kết nối các thành phần phần mềm hoặc các ứng dụng với nhau. Phần mềm loại này bao gồm một tập các dịch vụ cho phép sự tương tác giữa các tiến trình chạy trên một hoặc nhiều máy khác nhau.
Các thuộc tính của đối tượng Request trong Node.js
Bảng dưới liệt kê một số thuộc tính thường được sử dụng của đối tượng Request trong Node.js:
Stt | Thuộc tính & Miêu tả |
---|---|
1 | req.app Thuộc tính này giữ một tham chiếu tới ứng dụng Express đang sử dụng Middleware |
2 | req.baseUrl Đường truyền URL mà trên đó một Router được gắn kết |
3 | req.body Chứa các cặp key-value của dữ liệu được đệ trình trong phần body của Request. Theo mặc định, nó là undefined, và được sinh khi bạn sử dụng một Middleware để parse phần body của request (ví dụ body-parser) |
4 | req.cookies Khi sử dụng cookie-parser middleware, thuộc tính này là một đối tượng chứa các Cookie được gửi bởi Request |
5 | req.fresh Xác định xem có hay không Request là "fresh." Thuộc tính này trái ngược với req.stale. |
6 | req.hostname Chứa phần hostname từ phần "Host" của HTTP header. |
7 | req.ip Địa chỉ Remote IP của request. |
8 | req.path Chứa phần path của URL trong Request. |
9 | req.protocol Chuỗi protocol của Request, đó là "http" hoặc "https" khi tạo request với TLS |
10 | req.query Một đối tượng chứa một thuộc tính cho mỗi tham số chuỗi truy vấn trong Router |
11 | req.route Một chuỗi biểu diễn route hiện tại được kết nối |
12 | req.secure Là true nếu một kết nối TLS được thiết lập thành công |
13 | req.signedCookies Khi sử dụng cookie-parser Middleware, thuộc tính này chứa các Cookie được gửi bởi Request |
14 | req.stale Xác định xem có hay không Request là "stale", thuộc tính này trái ngược với thuộc tính req.fresh. |
15 | req.subdomains Một mảng bao gồm các subdomain trong phần tên domain của Request |
Phương thức của đối tượng Request trong Node.js
Phương thức req.accepts(types)
req.accepts(types)
Phương thức này kiểm tra xem Content-type có phải là có thể chấp nhận không, dựa trên trường Accept HTTP Header của Request. Ví dụ:
// Accept: text/html req.accepts('html'); // => "html" // Accept: text/*, application/json req.accepts('html'); // => "html" req.accepts('text/html'); // => "text/html"
Phương thức req.get(field)
req.get(field)
Phương thức này trả về trường Header cụ thể của Request. Ví dụ:
req.get('Content-Type'); // => "text/plain" req.get('content-type'); // => "text/plain" req.get('Something'); // => undefined
Phương thức req.is(type)
req.is(type)
Phương thức này trả về true nếu trường Content-Type của Request đang đến là kết nối với kiểu MIME Type đã được xác định bởi tham số type. Ví dụ:
// With Content-Type: text/html; charset=utf-8 req.is('html'); req.is('text/html'); req.is('text/*'); // => true
Phương thức req.param(name [, defaultValue])
req.param(name [, defaultValue])
Phương thức này trả về giá trị của tham số name. Ví dụ:
// ?name=tobi req.param('name') // => "tobi" // POST name=tobi req.param('name') // => "tobi" // /user/tobi for /user/:name req.param('name') // => "tobi"
Theo Tutorialspoint
Bài trước: RESTful API trong Node.js
Bài tiếp: Đối tượng Response trong Node.js