Postman — nền tảng kiểm thử API có giao diện đồ họa, hỗ trợ các giao thức REST, GraphQL, WebSocket và gRPC. Công cụ cho phép tạo và gửi yêu cầu HTTP, tổ chức chúng thành bộ sưu tập, tự động hóa kiểm thử bằng script và tạo tài liệu cho các endpoint. Theo Postman Learning Center (2026), hơn 25 triệu nhà phát triển trên toàn thế giới sử dụng nền tảng này.
Điểm chính
Postman là nền tảng phát triển và kiểm thử API, có sẵn dưới dạng ứng dụng desktop (Windows, macOS, Linux) và phiên bản web. Ban đầu được tạo như một tiện ích mở rộng cho Chrome vào năm 2012, Postman đã phát triển thành một hệ sinh thái hoàn chỉnh với hỗ trợ giám sát, máy chủ mô phỏng và tạo mã máy khách.
Postman hỗ trợ tất cả phương thức HTTP: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS. Nội dung yêu cầu có thể ở các định dạng JSON, XML, form-data, x-www-form-urlencoded và binary. Phản hồi được hiển thị với tô màu cú pháp, Pretty-print và khả năng xem các tiêu đề thô.
Các loại xác thực tích hợp bao gồm Bearer Token, Basic Auth, Digest Auth, OAuth 1.0, OAuth 2.0, API Key và AWS Signature. Postman tự động thêm tiêu đề Authorization theo loại đã chọn, giúp tăng tốc kiểm thử các endpoint được bảo vệ mà không cần sao chép token thủ công.
Giao diện Postman bao gồm bảng điều hướng bên (Collections, APIs, Environments), khu vực làm việc (Request Builder/Response Viewer) và bảng dưới cùng (Console, Runner). Tab Params cho phép chỉnh sửa tham số truy vấn của URL ở dạng bảng, tab Headers quản lý tiêu đề HTTP.
Console (View → Show Postman Console) ghi lại tất cả yêu cầu và phản hồi mạng theo thứ tự thời gian, bao gồm cả chuyển hướng trung gian và tiêu đề. Đây là công cụ không thể thiếu khi gỡ lỗi các luồng OAuth phức tạp và chuỗi chuyển hướng khi Response Viewer tiêu chuẩn chỉ hiển thị kết quả cuối cùng.
Postman hỗ trợ không gian làm việc nhóm với quản lý phiên bản bộ sưu tập qua Fork và Merge. Thành viên nhóm có thể nhận xét về yêu cầu, đề xuất thay đổi và đồng bộ bộ sưu tập theo thời gian thực. Public Workspace cho phép xuất bản tài liệu API cho các nhà phát triển bên ngoài.
Yêu cầu cơ bản trong Postman được tạo bằng cách chọn phương thức HTTP và nhập URL vào thanh địa chỉ. Sau khi gửi, phản hồi được hiển thị ở bảng dưới cùng với mã trạng thái, thời gian thực thi và kích thước. Các tham số yêu cầu được mã hóa tự động khi nhập.
Có thể sử dụng các biến động ở định dạng {{$variable}} trong URL và nội dung yêu cầu. Các biến tích hợp {{$guid}}, {{$timestamp}} và {{$randomInt}} tạo giá trị duy nhất cho mỗi yêu cầu. Đoạn mã có sẵn qua nút Code (>), tạo yêu cầu tương đương bằng cURL, Python, JavaScript, Kotlin, Swift và các ngôn ngữ khác.
// Ví dụ script trong Pre-request: tạo chữ ký HMAC
const timestamp = Date.now().toString();
const secret = pm.environment.get("api_secret");
const hash = CryptoJS.HmacSHA256(timestamp, secret);
pm.request.headers.add({
key: "X-Signature",
value: hash.toString()
});
Bộ sưu tập là các nhóm yêu cầu liên quan được kết hợp theo dự án hoặc mô-đun chức năng. Mỗi bộ sưu tập có thể chứa thư mục lồng nhau, tiêu đề dùng chung và script Pre-request chạy trước mỗi yêu cầu trong bộ sưu tập. Thứ tự yêu cầu được thiết lập bằng cách kéo thả.
Postman hỗ trợ năm cấp biến: global, collection, environment, data và local. Ưu tiên giải quyết xung đột — từ cục bộ đến toàn cục. Tệp môi trường chứa các cặp khóa-giá trị cho các môi trường khác nhau: development, staging, production. Chuyển môi trường sẽ tự động thay đổi tất cả URL và token.
| Cấp | Phạm vi | Ưu tiên |
|---|---|---|
| Local | Yêu cầu hiện tại | 1 (cao nhất) |
| Data | Collection Runner (từ CSV/JSON) | 2 |
| Environment | Môi trường đang hoạt động | 3 |
| Collection | Toàn bộ bộ sưu tập | 4 |
| Global | Toàn bộ không gian làm việc | 5 |
Postman cho phép viết kiểm thử bằng JavaScript trong tab Tests, chạy sau khi nhận được phản hồi. Các kiểm thử xác minh mã trạng thái, nội dung phản hồi, tiêu đề và thời gian thực thi. Kết quả được hiển thị trong bảng Test Results với chỉ báo đạt màu sắc.
Đối tượng pm cung cấp các phương thức làm việc với phản hồi: pm.response, pm.expect, pm.variables. Chuỗi yêu cầu được thực hiện bằng cách lưu dữ liệu từ phản hồi của một yêu cầu vào biến và sử dụng trong yêu cầu tiếp theo. Đây là nền tảng để xây dựng kiểm thử tích hợp và xác minh logic nghiệp vụ qua chuỗi lệnh gọi API.
// Kiểm thử: xác minh cấu trúc phản hồi và lưu token
pm.test("Status code is 200", () => {
pm.response.to.have.status(200);
});
const json = pm.response.json();
pm.environment.set("auth_token", json.data.token);
Collection Runner chạy tất cả yêu cầu trong bộ sưu tập một cách tuần tự, thực hiện kiểm thử ở mỗi bước. Newman là phiên bản console của Postman dành cho pipeline CI/CD (Jenkins, GitHub Actions, GitLab CI). Newman xuất báo cáo ở định dạng JSON, JUnit và HTML để tích hợp với hệ thống giám sát.
Yêu cầu GraphQL trong Postman được gửi qua POST đến một endpoint duy nhất với nội dung ở định dạng JSON. Tab GraphQL (Beta) cung cấp trình soạn thảo trực quan với tô màu cú pháp, tự động hoàn thành trường và lược đồ. Biến yêu cầu được truyền trong bảng Variables riêng.
Postman hỗ trợ kết nối WebSocket qua giao diện riêng với bảng tin nhắn. Có thể gửi tin nhắn văn bản và nhị phân, xem lịch sử kết nối và tự động kết nối lại khi bị ngắt. Máy khách Socket.IO hoạt động ở chế độ tương thích với giao thức Engine.IO.
// Kiểm thử WebSocket trong Postman qua pm API
const ws = new WebSocket("wss://echo.websocket.org");
ws.onmessage = (event) => {
pm.test("Echo response received", () => {
pm.expect(event.data).to.eql("Hello");
});
};
Máy chủ mô phỏng của Postman cho phép mô phỏng các endpoint API dựa trên bộ sưu tập hiện có. Điều này hữu ích khi backend chưa sẵn sàng nhưng frontend hoặc ứng dụng di động đã đang được phát triển. Máy chủ mô phỏng trả về phản hồi mẫu từ bộ sưu tập với tiêu đề và mã trạng thái chính xác.
Máy chủ mô phỏng được tạo từ bộ sưu tập chỉ với một cú nhấp: chọn bộ sưu tập → Mock Servers → Add a new mock server. Postman tạo URL duy nhất có thể dùng trong mã ứng dụng thay cho API thực. Với mỗi yêu cầu trong bộ sưu tập, mock trả về Example Response đã lưu, cho phép kiểm tra UI trước khi backend hoàn thành.
Monitors chạy bộ sưu tập theo lịch trình (mỗi 5 phút, giờ hoặc ngày) và kiểm tra tính khả dụng cũng như độ chính xác của API. Khi kiểm thử thất bại, màn hình giám sát gửi thông báo qua email hoặc Slack. Việc giám sát chạy từ đám mây Postman, không cần máy chủ riêng và hỗ trợ tối đa 10.000 yêu cầu mỗi tháng ở gói miễn phí.
// Kiểm thử cho giám sát: xác minh thời gian phản hồi
pm.test("Response time < 2000ms", () => {
pm.expect(pm.response.responseTime).to.be.below(2000);
});
pm.test("Content-Type is JSON", () => {
pm.response.to.have.header("Content-Type");
});
Postman cung cấp cơ chế làm việc an toàn với khóa API. Biến loại Secret được mã hóa và không hiển thị trong giao diện. Để làm việc nhóm, hãy sử dụng Workspace với các vai trò Admin, Editor và Viewer.
Khi tạo biến môi trường, hãy chọn loại Secret — giá trị bị ẩn bằng dấu sao trong tất cả giao diện. Bí mật không được xuất vào bộ sưu tập khi chia sẻ và không hiển thị trong nhật ký Newman. Nên lưu mật khẩu và token chỉ trong các biến Secret.
Postman hỗ trợ tích hợp với HashiCorp Vault và AWS Secrets Manager. Script Pre-request có thể lấy bí mật động từ kho lưu trữ bên ngoài, tránh lưu dữ liệu nhạy cảm trong tệp môi trường của bộ sưu tập.
Postman cung cấp cơ chế làm việc an toàn với khóa API. Biến loại Secret được mã hóa và không hiển thị trong giao diện. Để làm việc nhóm, hãy sử dụng Workspace với các vai trò Admin, Editor và Viewer.
Khi tạo biến môi trường, hãy chọn loại Secret — giá trị bị ẩn bằng dấu sao trong tất cả giao diện. Bí mật không được xuất vào bộ sưu tập khi chia sẻ và không hiển thị trong nhật ký Newman. Nên lưu mật khẩu và token chỉ trong các biến Secret.
Postman hỗ trợ tích hợp với HashiCorp Vault và AWS Secrets Manager. Script Pre-request có thể lấy bí mật động từ kho lưu trữ bên ngoài, tránh lưu dữ liệu nhạy cảm trong tệp môi trường của bộ sưu tập.
Câu hỏi thường gặp
Postman cung cấp hệ sinh thái rộng hơn: bộ sưu tập, môi trường, giám sát, máy chủ mô phỏng và Newman cho CI/CD. Insomnia tập trung vào sự nhẹ nhàng và tốc độ với mức tiêu thụ bộ nhớ thấp hơn. Postman phù hợp hơn cho làm việc nhóm, Insomnia cho sử dụng cá nhân.
Trong Tests của yêu cầu đầu tiên, hãy lưu token vào môi trường: pm.environment.set("token", pm.response.json().token). Trong yêu cầu thứ hai, sử dụng biến {{$token}} trong tiêu đề Authorization. Runner sẽ tự động thay thế giá trị khi chạy tuần tự.
Có, qua nút Import → Raw Text. Postman tự động phân tích lệnh cURL và tạo yêu cầu kèm tiêu đề, phương thức và nội dung. Tất cả cờ cURL được hỗ trợ, bao gồm -H, -d, -F và -u. Chuyển đổi ngược có sẵn qua nút Code (>).
Sử dụng yêu cầu POST với nội dung JSON: {"query": "..."}. Tab GraphQL cung cấp trình soạn thảo trực quan với tải lược đồ qua Introspection Query. Biến yêu cầu được truyền trong trường variables của cùng đối tượng JSON.
Newman là phiên bản console của Postman để chạy bộ sưu tập trong CI/CD. Được cài qua npm, hỗ trợ báo cáo HTML và tích hợp với Jenkins, GitHub Actions và GitLab CI. Cho phép tự động hóa kiểm thử hồi quy API mà không cần giao diện đồ họa.
Tóm tắt
Chúng tôi sẽ phát triển ứng dụng di động chìa khóa trao tay
IT Sectr tạo các ứng dụng iOS và Android cho các công ty khởi nghiệp và doanh nghiệp từ năm 2017. Chúng tôi sẽ tư vấn và đề xuất giải pháp tốt nhất cho bạn.
Đọc thêm