Postman — แพลตฟอร์มสำหรับทดสอบ API ที่มีอินเทอร์เฟซแบบกราฟิก รองรับโปรโตคอล REST, GraphQL, WebSocket และ gRPC เครื่องมือนี้ช่วยให้สร้างและส่งคำขอ HTTP จัดระเบียบเป็นคอลเลกชัน ทำให้การทดสอบเป็นอัตโนมัติผ่านสคริปต์ และสร้างเอกสารประกอบสำหรับเอนด์พอยต์ จากข้อมูลของ Postman Learning Center (2026) นักพัฒนากว่า 25 ล้านคนทั่วโลกใช้แพลตฟอร์มนี้
ประเด็นสำคัญ
Postman เป็นแพลตฟอร์มสำหรับพัฒนาและทดสอบ API มีให้ใช้งานเป็นแอปพลิเคชันเดสก์ท็อป (Windows, macOS, Linux) และเวอร์ชันเว็บ เดิมถูกสร้างเป็นส่วนขยายของ Chrome ในปี 2012 ปัจจุบัน Postman เติบโตเป็นระบบนิเวศที่สมบูรณ์พร้อมรองรับการตรวจสอบ เซิร์ฟเวอร์จำลอง และการสร้างโค้ดไคลเอนต์
Postman รองรับ เมธอด HTTP ทั้งหมด: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS ส่วนหัวของคำขอสามารถอยู่ในรูปแบบ JSON, XML, form-data, x-www-form-urlencoded และ binary การตอบกลับจะแสดงพร้อมไฮไลต์ไวยากรณ์ Pretty-print และความสามารถในการดูหัวข้อดิบ
ประเภทการรับรองความถูกต้องในตัวรวมถึง Bearer Token, Basic Auth, Digest Auth, OAuth 1.0, OAuth 2.0, API Key และ AWS Signature Postman จะเพิ่มส่วนหัว Authorization โดยอัตโนมัติตามประเภทที่เลือก ซึ่งช่วยเร่งการทดสอบเอนด์พอยต์ที่ได้รับการป้องกันโดยไม่ต้องคัดลอกโทเค็นด้วยตนเอง
อินเทอร์เฟซ Postman ประกอบด้วยแผงด้านข้าง (Collections, APIs, Environments) พื้นที่ทำงาน (Request Builder/Response Viewer) และแผงด้านล่าง (Console, Runner) แท็บ Params ช่วยให้แก้ไขพารามิเตอร์การค้นหาของ URL ในมุมมองตาราง และแท็บ Headers จัดการส่วนหัว HTTP
Console (View → Show Postman Console) บันทึกคำขอและการตอบกลับเครือข่ายทั้งหมดตามลำดับเวลา รวมถึงการเปลี่ยนเส้นทางระหว่างทางและส่วนหัว เป็นเครื่องมือที่ขาดไม่ได้เมื่อดีบักโฟลว์ OAuth ที่ซับซ้อนและห่วงโซ่การเปลี่ยนเส้นทางเมื่อ Response Viewer มาตรฐานแสดงเฉพาะผลลัพธ์สุดท้าย
Postman รองรับพื้นที่ทำงานเป็นทีมพร้อมการจัดการเวอร์ชันคอลเลกชันผ่าน Fork และ Merge สมาชิกทีมสามารถแสดงความคิดเห็นบนคำขอ เสนอการเปลี่ยนแปลง และซิงค์คอลเลกชันแบบเรียลไทม์ Public Workspace ช่วยให้เผยแพร่เอกสารประกอบ API สำหรับนักพัฒนาภายนอก
คำขอพื้นฐาน ใน Postman สร้างขึ้นโดยเลือกเมธอด HTTP และป้อน URL ในแถบที่อยู่ หลังจากส่ง คำตอบจะแสดงในแผงด้านล่างพร้อมรหัสสถานะ เวลาดำเนินการ และขนาด พารามิเตอร์ของคำขอจะถูกเข้ารหัสโดยอัตโนมัติระหว่างการป้อน
สามารถใช้ตัวแปรไดนามิกในรูปแบบ {{$variable}} ใน URL และส่วนหัวของคำขอ ตัวแปรในตัว {{$guid}}, {{$timestamp}} และ {{$randomInt}} สร้างค่าที่ไม่ซ้ำกันสำหรับแต่ละคำขอ สไนปเป็ตโค้ดมีให้ใช้งานผ่านปุ่ม Code (>) ซึ่งสร้างคำขอที่เทียบเท่าในภาษา cURL, Python, JavaScript, Kotlin, Swift และภาษาอื่นๆ
// ตัวอย่างสคริปต์ใน Pre-request: การสร้างลายเซ็น 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()
});
คอลเลกชัน คือกลุ่มของคำขอที่เกี่ยวข้องซึ่งรวมกันตามโปรเจกต์หรือโมดูลการทำงาน แต่ละคอลเลกชันสามารถมีโฟลเดอร์ย่อย ส่วนหัวที่ใช้ร่วมกัน และสคริปต์ Pre-request ที่ทำงานก่อนแต่ละคำขอในคอลเลกชัน ลำดับของคำขอถูกกำหนดโดยการลาก
Postman รองรับตัวแปรห้าระดับ: global, collection, environment, data และ local ลำดับความสำคัญของการแก้ไขข้อขัดแย้ง — จากระดับท้องถิ่นไปยังระดับโลก ไฟล์สภาพแวดล้อมมีคู่คีย์-ค่าสำหรับสภาพแวดล้อมที่แตกต่างกัน: development, staging, production การสลับสภาพแวดล้อมจะเปลี่ยน URL และโทเค็นทั้งหมดโดยอัตโนมัติ
| ระดับ | ขอบเขต | ลำดับความสำคัญ |
|---|---|---|
| Local | คำขอปัจจุบัน | 1 (สูงสุด) |
| Data | Collection Runner (จาก CSV/JSON) | 2 |
| Environment | สภาพแวดล้อมที่ใช้งานอยู่ | 3 |
| Collection | คอลเลกชันทั้งหมด | 4 |
| Global | พื้นที่ทำงานทั้งหมด | 5 |
Postman ช่วยให้เขียนการทดสอบด้วย JavaScript ในแท็บ Tests ซึ่งทำงานหลังจากได้รับคำตอบ การทดสอบจะตรวจสอบรหัสสถานะ ส่วนหัวของคำตอบ ส่วนหัวและเวลาดำเนินการ ผลลัพธ์จะแสดงในแผง Test Results พร้อมตัวบ่งชี้การผ่านแบบสี
ออบเจกต์ pm ให้เมธอดสำหรับทำงานกับคำตอบ: pm.response, pm.expect, pm.variables การเชื่อมโยงคำขอถูกนำไปใช้โดยการบันทึกข้อมูลจากคำตอบของคำขอหนึ่งลงในตัวแปรและใช้ในคำขอถัดไป นี่คือพื้นฐานสำหรับการสร้างการทดสอบการรวมและการตรวจสอบตรรกะทางธุรกิจผ่านลำดับการเรียก API
// การทดสอบ: การตรวจสอบโครงสร้างคำตอบและการบันทึกโทเค็น
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 รันคำขอทั้งหมดในคอลเลกชันตามลำดับ โดยทำการทดสอบในแต่ละขั้นตอน Newman คือเวอร์ชันคอนโซลของ Postman สำหรับไปป์ไลน์ CI/CD (Jenkins, GitHub Actions, GitLab CI) Newman ส่งออกรายงานในรูปแบบ JSON, JUnit และ HTML เพื่อรวมเข้ากับระบบตรวจสอบ
คำขอ GraphQL ใน Postman ถูกส่งผ่าน POST ไปยังเอนด์พอยต์เดียวพร้อมส่วนหัวในรูปแบบ JSON แท็บ GraphQL (Beta) ให้ตัวแก้ไขแบบภาพพร้อมไฮไลต์ไวยากรณ์ การเติมฟิลด์อัตโนมัติ และสคีมา ตัวแปรของคำขอจะถูกส่งในแผง Variables แยกต่างหาก
Postman รองรับการเชื่อมต่อ WebSocket ผ่านอินเทอร์เฟซแยกต่างหากพร้อมแผงข้อความ คุณสามารถส่งข้อความข้อความและไบนารี ดูประวัติการเชื่อมต่อ และเชื่อมต่อใหม่โดยอัตโนมัติเมื่อขาดการเชื่อมต่อ ไคลเอนต์ Socket.IO ทำงานในโหมดความเข้ากันได้กับโปรโตคอล Engine.IO
// การทดสอบ WebSocket ใน Postman ผ่าน 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");
});
};
เซิร์ฟเวอร์จำลอง ของ Postman ช่วยให้จำลองเอนด์พอยต์ API ตามคอลเลกชันที่มีอยู่ สิ่งนี้มีประโยชน์เมื่อแบ็กเอนด์ยังไม่พร้อม แต่ฟรอนต์เอนด์หรือแอปมือถือกำลังถูกพัฒนาอยู่แล้ว เซิร์ฟเวอร์จำลองจะส่งคืนคำตอบตัวอย่างจากคอลเลกชันพร้อมส่วนหัวและรหัสสถานะที่ถูกต้อง
เซิร์ฟเวอร์จำลองถูกสร้างขึ้นจากคอลเลกชันด้วยการคลิกเดียว: เลือกคอลเลกชัน → Mock Servers → Add a new mock server Postman สร้าง URL ที่ไม่ซ้ำกันซึ่งสามารถใช้ในโค้ดแอปพลิเคชันแทน API จริง สำหรับแต่ละคำขอในคอลเลกชัน mock จะส่งคืน Example Response ที่บันทึกไว้ ซึ่งช่วยให้ทดสอบ UI ก่อนที่แบ็กเอนด์จะเสร็จสมบูรณ์
Monitors รันคอลเลกชันตามกำหนดการ (ทุก 5 นาที ชั่วโมง หรือวัน) และตรวจสอบความพร้อมใช้งานและความถูกต้องของ API เมื่อการทดสอบล้มเหลว จอภาพจะส่งการแจ้งเตือนทางอีเมลหรือ Slack การตรวจสอบทำงานจากคลาวด์ Postman ไม่ต้องใช้เซิร์ฟเวอร์แยกต่างหาก และรองรับคำขอสูงสุด 10,000 ครั้งต่อเดือนในแผนฟรี
// การทดสอบสำหรับการตรวจสอบ: การตรวจสอบเวลาตอบสนอง
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 ให้กลไกสำหรับการทำงานอย่างปลอดภัยกับคีย์ API ตัวแปรประเภท Secret ถูกเข้ารหัสและไม่แสดงในอินเทอร์เฟซ สำหรับการทำงานเป็นทีม ให้ใช้ Workspace พร้อมบทบาท Admin, Editor และ Viewer
เมื่อสร้างตัวแปรสภาพแวดล้อม ให้เลือกประเภท Secret — ค่าจะถูกซ่อนด้วยเครื่องหมายดอกจันในทุกอินเทอร์เฟซ ความลับจะไม่ถูกส่งออกไปยังคอลเลกชันเมื่อแชร์และไม่แสดงในบันทึกของ Newman ขอแนะนำให้จัดเก็บรหัสผ่านและโทเค็นเฉพาะในตัวแปร Secret เท่านั้น
Postman รองรับการผสานรวมกับ HashiCorp Vault และ AWS Secrets Manager สคริปต์ Pre-request สามารถขอความลับจากที่เก็บข้อมูลภายนอกแบบไดนามิก ซึ่งหลีกเลี่ยงการจัดเก็บข้อมูลที่ละเอียดอ่อนในไฟล์สภาพแวดล้อมของคอลเลกชัน
Postman ให้กลไกสำหรับการทำงานอย่างปลอดภัยกับคีย์ API ตัวแปรประเภท Secret ถูกเข้ารหัสและไม่แสดงในอินเทอร์เฟซ สำหรับการทำงานเป็นทีม ให้ใช้ Workspace พร้อมบทบาท Admin, Editor และ Viewer
เมื่อสร้างตัวแปรสภาพแวดล้อม ให้เลือกประเภท Secret — ค่าจะถูกซ่อนด้วยเครื่องหมายดอกจันในทุกอินเทอร์เฟซ ความลับจะไม่ถูกส่งออกไปยังคอลเลกชันเมื่อแชร์และไม่แสดงในบันทึกของ Newman ขอแนะนำให้จัดเก็บรหัสผ่านและโทเค็นเฉพาะในตัวแปร Secret เท่านั้น
Postman รองรับการผสานรวมกับ HashiCorp Vault และ AWS Secrets Manager สคริปต์ Pre-request สามารถขอความลับจากที่เก็บข้อมูลภายนอกแบบไดนามิก ซึ่งหลีกเลี่ยงการจัดเก็บข้อมูลที่ละเอียดอ่อนในไฟล์สภาพแวดล้อมของคอลเลกชัน
คำถามที่พบบ่อย
Postman นำเสนอระบบนิเวศที่กว้างขึ้น: คอลเลกชัน สภาพแวดล้อม การตรวจสอบ เซิร์ฟเวอร์จำลอง และ Newman สำหรับ CI/CD ส่วน Insomnia มุ่งเน้นความเบาและความเร็วด้วยการใช้หน่วยความจำน้อยกว่า Postman เหมาะสำหรับการทำงานเป็นทีม ส่วน Insomnia สำหรับการใช้งานส่วนตัว
ใน Tests ของคำขอแรก ให้บันทึกโทเค็นในสภาพแวดล้อม: pm.environment.set("token", pm.response.json().token) ในคำขอที่สอง ให้ใช้ตัวแปร {{$token}} ในส่วนหัว Authorization Runner จะแทนที่ค่าอัตโนมัติเมื่อรันตามลำดับ
ได้ ผ่านปุ่ม Import → Raw Text Postman แยกวิเคราะห์คำสั่ง cURL โดยอัตโนมัติและสร้างคำขอพร้อมส่วนหัว เมธอด และส่วนหัว ตัวเลือก cURL ทั้งหมดรองรับ รวมถึง -H, -d, -F และ -u การแปลงย้อนกลับมีให้ใช้งานผ่านปุ่ม Code (>)
ใช้คำขอ POST พร้อมส่วนหัว JSON: {"query": "..."} แท็บ GraphQL ให้ตัวแก้ไขแบบภาพพร้อมการโหลดสคีมาผ่าน Introspection Query ตัวแปรของคำขอจะถูกส่งในฟิลด์ variables ของออบเจกต์ JSON เดียวกัน
Newman คือเวอร์ชันคอนโซลของ Postman สำหรับรันคอลเลกชันใน CI/CD ติดตั้งผ่าน npm รองรับรายงาน HTML และการผสานรวมกับ Jenkins, GitHub Actions และ GitLab CI ช่วยให้ทำให้การทดสอบการถดถอยของ API เป็นอัตโนมัติโดยไม่มีอินเทอร์เฟซแบบกราฟิก
สรุป
เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร
IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ
อ่านเพิ่มเติม