Postman hỗ trợ nhiều loại tham số khác nhau để xây dựng yêu cầu HTTP, mỗi loại phù hợp với một ngữ cảnh cụ thể. Việc lựa chọn đúng loại tham số không chỉ ảnh hưởng đến cấu trúc request mà còn quyết định cách backend phân tích dữ liệu.
Tham số truy vấn (Query Parameters)
Được thêm vào cuối URL dưới dạng cặp key=value, phân tách bằng dấu &. Thường dùng để lọc, phân trang hoặc truyền dữ liệu công khai.
Ví dụ:
GET /api/products?category=electronics&page=2
Ở phía server (Node.js):
const category = req.query.category; // "electronics"
Spring Boot sử dụng @RequestParam. Ưu điểm là đơn giản, nhưng không an toàn với dữ liệu nhạy cảm do hiển thị trực tiếp trên thanh địa chỉ.
Biến đường dẫn (Path Variables)
Dùng để xác định tài nguyên cụ thể trong RESTful API, được nhúng trực tiếp vào URI.
Ví dụ:
GET /api/users/456
Trong Node.js:
app.get('/api/users/:id', (req) => {
const userId = req.params.id; // "456"
});
Tương ứng với @PathVariable trong Spring. Yêu cầu định nghĩa rõ ràng mẫu route và không nên dùng cho dữ liệu tùy chọn.
Header HTTP
Chứa thông tin siêu dữ liệu về yêu cầu như xác thực, định dạng nội dung hoặc kiểm soát CORS.
Ví dụ:
Authorization: Bearer xyz789
Accept: application/json
Backend truy cập qua req.headers (Node.js) hoặc @RequestHeader (Spring). Rất phù hợp để gửi token bảo mật vì không xuất hiện trong lịch sử duyệt web.
Dữ liệu thân yêu cầu (Request Body)
Phù hợp khi gửi khối dữ liệu lớn hoặc nhạy cảm.
Form-data
Dạng multipart/form-data, lý tưởng để tải lên file kèm các trường văn bản.
Backend cần middleware như multer (Node.js) hoặc MultipartFile (Spring) để xử lý từng phần.
x-www-form-urlencoded
Dạng biểu mẫu chuẩn, mã hóa dữ liệu thành chuỗi key-value.
Ví dụ:
username=admin&password=123
Được tự động parse vào req.body nếu có urlencoded middleware.
Raw (JSON/XML)
Gửi dữ liệu có cấu trúc, phổ biến nhất là JSON với Content-Type: application/json.
Ví dụ nội dung body:
{
"email": "user@example.com",
"isActive": true
}
Backend cần parser (như body-parser) hoặc sử dụng @RequestBody để ánh xạ thành đối tượng.
Cookies
Lưu trạng thái phiên làm việc, tự động gửi kèm theo mỗi request nếu được thiết lập.
Ví dụ:
Cookie: sessionId=abc123; theme=dark
Truy cập bằng req.cookies hoặc @CookieValue. Nên bật thuộc tính HttpOnly và Secure để tăng cường bảo mật.
Tổng kết so sánh
| Loại tham số | Vị trí truyền | Phù hợp dữ liệu nhạy cảm? | Cách lấy ở backend |
|---|---|---|---|
| Query Params | URL (sau ?) | Không | req.query |
| Path Variables | Đường dẫn | Không | req.params |
| Headers | Header HTTP | Có | req.headers |
| Body (JSON) | Thân yêu cầu | Có | req.body (cần parser) |
| Cookies | Cookie trình duyệt | Tùy cấu hình | req.cookies |
Lưu ý quan trọng:
- Không bao giờ gửi mật khẩu hoặc token qua query string.
- Dữ liệu nhị phân (file) bắt buộc phải dùng
Form-data. - Luôn thiết lập đúng
Content-Typeđể backend nhận diện và xử lý chính xác.