Đối tượng Request trong Node.js

Đố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

Thứ Tư, 15/08/2018 11:58
52 👨 75