Insomnia ไม่เก่งเท่า Paw โหลดเร็วกว่า Postman ใช้ง่ายกว่า curl
สมมุติว่าเราพัฒนา mobile application ซักตัว และใช้ rest api เราคงไม่รันโปรแกรมเพื่อทดลองยิง api ทุกตัว หรือทุกครั้งแน่ ๆ เราจะทดสอบการยิง api ผ่านโปรแกรมซักตัว ที่บันทึกรูปแบบการยิงไว้แล้ว ใครถึก ๆ หน่อยก็ curl บางคนอาจเขียน shell script แต่ก็ไม่ได้ง่าย เลยมีโปรแกรมอย่าง Paw, Postman, SoapUI และ Insomnia ที่ผมกำลังแนะนำอยู่นี้
ก่อนหน้านี้ผมใช้ Paw อยู่ครับ (มีแค่ในแมค ทดลองใช้ฟรี 30 วัน) ใช้ดีมาก แต่ถ้า payload มีขนาดใหญ่มากก็แอปค้างได้เหมือนกัน บางทีก็ดับไปดื้อ ๆ ตอนนี้ไม่ได้ใช้ซักพักแล้ว อาจจะดีขึ้นแล้วก็ได้ แต่ที่แน่ ๆ features ครบครันที่สุดเลย
ผมเลยต้องลองใช้ Postman เพราะทีมใช้อยู่กะว่า export, import เลยลองโหลด ติดตั้ง เปิดโปรแกรม โหลดนานมากทำให้ไม่ประทับใจเท่าไหร่ เลยของหา alternative ดู ปรากฎว่าเจอ Insomnia ครับ เพราะฉนั้นประสบการณ์ Postman ผมต่ำมาก (Postman มีให้ใช้ทั้งเป็น app และเป็น Google Chrome extension)
อีกตัวนึงที่เห็นทีมใช้ SoapUI (ทำไมต้องใช้กันหลายตัวด้วยนะ แต่ผมก็ introduce ตัวที่ 3 เข้ามาในทีม 555) ผลคือโหลดช้ามาก ช้ากว่า Postman อีก ไม่รองรับหน้าจอความละเอียดสูงด้วย
กลับมาที่ Insomnia โดยฟีเจอร์พื้นฐานสามารถทำได้ดีครับ
แต่เท่าที่ลองใช้จุดที่ Insomnia ไม่ประทับใจเท่า Paw การอ้างอิงจาก response ของ api อันอื่นเผื่อต้องยิง chain ทำได้ยากกว่า (ของ Paw ใช้คลิกขวาเลือก Copy as Response Body|Header Dynamic value ได้เลย)
ใน Insomnia การทำ body reference ใช้การพิมพ์คำว่า Response Body และต้องเลือก request และเขียน inquiry นิดหน่อยเพื่อดึงค่า เพื่อทำเสร็จก็ยังขึ้นสีแดงเหมือนหาไม่เจอ แต่จริง ๆ แล้วหาค่าเจอใช้งานได้ เห็นว่ายังเป็น experimental feature อยู่
การเรียกใช้ตัวแปลต้องพิมพ์ครอบด้วยปีกกาเสมอเช่น {{variable}} ส่วนของ Paw พิมพ์ได้เลยเดี๋ยวตัวช่วยขึ้นมาเอง
เนื่องจาก Insomnia เป็น curl wrapper ถ้าต้องการดูรายละเอียดของ Request สามารถ ไปดูที่ tab timeline ของ response ได้ ซึ่งจะพบจะเจอ curl --verbose นั่นเอง แต่ยังไม่สามารถดู preview ของ raw payload ได้เหมือน Paw
แต่ว่า ๆ ๆ Insomnia เป็น Open Source และสามารถเขียน plugin เข้าไปได้ด้วย แปลว่าไม่จบแค่นี้แน่นอน
ถ้าใครอยากหาโปรแกรมใช้งาน ฟรี ๆ กับ feature พื้นฐาน แชร์ requests กันได้ และโหลดเร็วกว่า Postman, SoapUI ก็แนะนำตัวนี้ครับ Insomnia สามารถดาวโหลดได้ที่ https://insomnia.rest/download
ส่วนถ้าใครใช้แมคอยากลอง Paw สามารถดาวโหลดมาทดลองใช้งานได้ที่ https://paw.cloud ซึ่งยังมี features อีกมากมายที่ผมยังไม่ได้พูดถึง
สวัสดีครับ