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

SttThuộc tính & Miêu tả
1req.app
Thuộc tính này giữ một tham chiếu tới ứng dụng Express đang sử dụng Middleware
2req.baseUrl
Đường truyền URL mà trên đó một Router được gắn kết
3req.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)
4req.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
5req.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.
6req.hostname
Chứa phần hostname từ phần "Host" của HTTP header.
7req.ip
Địa chỉ Remote IP của request.
8req.path
Chứa phần path của URL trong Request.
9req.protocol
Chuỗi protocol của Request, đó là "http" hoặc "https" khi tạo request với TLS
10req.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
11req.route
Một chuỗi biểu diễn route hiện tại được kết nối
12req.secure
Là true nếu một kết nối TLS được thiết lập thành công
13req.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
14req.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.
15req.subdomains
Một mảng bao gồm các subdomain trong phần tên domain của Request
Quảng cáo

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
Quảng cáo

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"

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Follow fanpage của team https://www.facebook.com/vietjackteam/ hoặc facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.

Các bài học NodeJS phổ biến khác tại VietJack:


express_framework_trong_nodejs.jsp


Tài liệu giáo viên