การ Test API ด้วย Postman
หลังจากที่เราได้สร้าง API และทำความเข้าใจเรื่องเอกสาร API ด้วย Swagger/OpenAPI แล้ว ขั้นตอนต่อไปที่สำคัญไม่แพ้กันคือการทดสอบ API ของเรา เพื่อให้มั่นใจว่า API ทำงานได้อย่างถูกต้องตามที่เราต้องการ บทความนี้จะแนะนำวิธีการใช้ Postman ซึ่งเป็นเครื่องมือยอดนิยมสำหรับการทดสอบ API อย่างละเอียด
Postman คืออะไร?
Postman เป็นแพลตฟอร์มสำหรับการพัฒนาและทดสอบ API ที่ใช้งานง่ายและมีประสิทธิภาพ ช่วยให้เราสามารถส่ง requests ไปยัง API endpoints ต่างๆ และตรวจสอบ responses ที่ได้รับได้อย่างสะดวก นอกจากนี้ Postman ยังมีฟีเจอร์อื่นๆ อีกมากมาย เช่น การจัดการ environment, การสร้าง collections ของ requests, การเขียน test scripts, และการทำงานร่วมกับทีม
Postman มีทั้งแบบฟรีและแบบเสียเงิน โดยเวอร์ชันฟรีก็เพียงพอสำหรับการใช้งานพื้นฐานในการทดสอบ API แล้ว
การติดตั้ง Postman
ก่อนอื่น เราต้องทำการติดตั้ง Postman ก่อน สามารถดาวน์โหลดได้จากเว็บไซต์ทางการของ Postman: https://www.postman.com/downloads/
เมื่อดาวน์โหลดเสร็จแล้ว ให้ทำการติดตั้งตามขั้นตอนปกติ เมื่อเปิดโปรแกรม Postman ขึ้นมาครั้งแรก อาจจะต้องสร้าง account หรือ login ด้วย Google account ก่อน
การสร้าง Request ใน Postman
เมื่อเปิด Postman ขึ้นมาแล้ว เราจะมาเริ่มสร้าง request แรกกัน
-
สร้าง Request ใหม่: คลิกที่ปุ่ม "New" (อาจเป็นปุ่มบวก "+") ที่มุมซ้ายบน จากนั้นเลือก "HTTP Request"

-
เลือก HTTP Method: เลือก HTTP method ที่ต้องการจาก dropdown menu (GET, POST, PUT, DELETE, PATCH, etc.) ตัวอย่างเช่น หากเราต้องการดึงข้อมูล เราจะเลือก "GET"

-
ป้อน Endpoint URL: ป้อน URL ของ API endpoint ที่ต้องการทดสอบลงในช่อง URL ตัวอย่างเช่น หากเรามี API สำหรับดึงข้อมูลผู้ใช้ที่ endpoint
http://localhost/api/usersเราจะป้อน URL นี้ลงไป
-
เพิ่ม Parameters (ถ้ามี): หาก API endpoint ต้องการ parameters (เช่น query parameters สำหรับ GET request หรือ request body สำหรับ POST request) เราสามารถเพิ่ม parameters ได้ใน tab "Params" (สำหรับ GET) หรือ "Body" (สำหรับ POST, PUT, PATCH)
- GET Parameters: ใน tab "Params" ให้เพิ่ม key-value pairs ของ parameters ที่ต้องการส่ง ตัวอย่างเช่น หากเราต้องการดึงข้อมูลผู้ใช้ที่มี ID เท่ากับ 1 เราอาจเพิ่ม parameter
idที่มี value เป็น1 - POST/PUT/PATCH Body: ใน tab "Body" ให้เลือก format ของข้อมูลที่ต้องการส่ง (เช่น
application/json,application/x-www-form-urlencoded,multipart/form-data) จากนั้นป้อนข้อมูลในรูปแบบที่ถูกต้อง ตัวอย่างเช่น หากเราต้องการสร้างผู้ใช้ใหม่ด้วย JSON data เราอาจป้อนข้อมูลดังนี้:
{ "name": "John Doe", "email": "john.doe@example.com" } - GET Parameters: ใน tab "Params" ให้เพิ่ม key-value pairs ของ parameters ที่ต้องการส่ง ตัวอย่างเช่น หากเราต้องการดึงข้อมูลผู้ใช้ที่มี ID เท่ากับ 1 เราอาจเพิ่ม parameter
-
เพิ่ม Headers (ถ้ามี): ใน tab "Headers" เราสามารถเพิ่ม HTTP headers ที่ต้องการส่งได้ ตัวอย่างเช่น เราอาจเพิ่ม header
Content-Typeที่มี value เป็นapplication/jsonเพื่อระบุว่า request body เป็น JSON data -
ส่ง Request: คลิกที่ปุ่ม "Send" เพื่อส่ง request ไปยัง API endpoint

การตรวจสอบ Response ใน Postman
หลังจากที่เราส่ง request ไปแล้ว Postman จะแสดง response ที่ได้รับจาก API endpoint ในส่วนล่างของหน้าจอ เราสามารถตรวจสอบ response ได้ดังนี้:
-
Status Code: ตรวจสอบ HTTP status code ที่ได้รับ (เช่น 200 OK, 400 Bad Request, 404 Not Found, 500 Internal Server Error) เพื่อดูว่า request สำเร็จหรือไม่ (ดู HTTP Status Codes ที่ควรรู้)
-
Response Body: ตรวจสอบ response body ที่ได้รับ ซึ่งอาจเป็น JSON, XML, HTML, หรือ plain text ขึ้นอยู่กับ API endpoint
หาก response เป็น JSON Postman จะแสดงในรูปแบบที่อ่านง่าย หาก response เป็น format อื่นๆ เราสามารถเลือก format ที่ต้องการให้ Postman แสดงได้จาก dropdown menu
[ { "id": 1, "name": "John Doe", "email": "john.doe@example.com" }, { "id": 2, "name": "Jane Smith", "email": "jane.smith@example.com" } ] -
Headers: ตรวจสอบ HTTP headers ที่ได้รับ ซึ่งอาจมีข้อมูลเพิ่มเติมเกี่ยวกับ response เช่น
Content-Type,Content-Length,Cache-Control, etc. -
Time: ดูเวลาที่ใช้ในการส่ง request และรับ response
-
Size: ดูขนาดของ response body
กรณีใช้งานจริงและข้อผิดพลาดที่พบบ่อย
กรณีใช้งานจริง:
- การทดสอบ API สำหรับ Login: สร้าง POST request ไปยัง endpoint สำหรับ login (เช่น
/api/login) โดยส่ง username และ password ใน request body จากนั้นตรวจสอบว่า response มี access token หรือไม่ - การดึงข้อมูลผู้ใช้: สร้าง GET request ไปยัง endpoint สำหรับดึงข้อมูลผู้ใช้ (เช่น
/api/users/{id}) โดยแทนที่{id}ด้วย ID ของผู้ใช้ที่ต้องการดึง จากนั้นตรวจสอบว่า response มีข้อมูลผู้ใช้ที่ถูกต้องหรือไม่ - การสร้างสินค้าใหม่: สร้าง POST request ไปยัง endpoint สำหรับสร้างสินค้าใหม่ (เช่น
/api/products) โดยส่งข้อมูลสินค้าใน request body จากนั้นตรวจสอบว่า response มี ID ของสินค้าใหม่หรือไม่
ข้อผิดพลาดที่พบบ่อย:
- Incorrect URL: ตรวจสอบให้แน่ใจว่า URL ของ API endpoint ถูกต้อง
- Incorrect HTTP Method: ตรวจสอบให้แน่ใจว่า HTTP method ที่เลือกถูกต้องสำหรับ API endpoint ที่ต้องการทดสอบ
- Missing/Incorrect Parameters: ตรวจสอบให้แน่ใจว่า parameters ที่ส่งถูกต้องและครบถ้วน
- Incorrect Content-Type: ตรวจสอบให้แน่ใจว่า
Content-Typeheader ถูกต้องสำหรับ request body ที่ส่ง - CORS Error: หากพบข้อผิดพลาดเกี่ยวกับ CORS ให้ตรวจสอบว่า API server ได้ตั้งค่า CORS headers อย่างถูกต้อง (ดูบทความ CORS)
สรุป
Postman เป็นเครื่องมือที่ขาดไม่ได้สำหรับการทดสอบ API ช่วยให้เราสามารถส่ง requests ไปยัง API endpoints ต่างๆ และตรวจสอบ responses ที่ได้รับได้อย่างสะดวก การใช้งาน Postman อย่างถูกต้องจะช่วยให้เรามั่นใจได้ว่า API ของเราทำงานได้อย่างถูกต้องและมีคุณภาพ