ใช้ POST เท่านั้น? มายุติการถกเถียงการออกแบบ API อันไร้สาระนี้กันเถอะ
การเปิดโปงตำนาน "ใช้ POST เท่านั้น" ใน API อธิบายว่ามันเกิดจากความเข้าใจผิดเกี่ยวกับหลักการออกแบบ API และชี้แจงกรณีการใช้งานที่เหมาะสมสำหรับสไตล์การออกแบบ RESTful และ RPC
เมื่อเร็ว ๆ นี้มีการสนทนาเกี่ยวกับการที่จะออกแบบ APIs โดยใช้ "POST เท่านั้น" ซึ่งดึงดูดความสนใจของฉัน หลังจากดิ่งลึกลงไปในข้อถกเถียงนี้ ฉันพบว่าปัญหาที่คนถกเถียงกันนั้นไม่เพียงแต่ไม่มีความหมาย แต่มันยังเผยให้เห็นถึงความเข้าใจผิดของนักพัฒนาหลายคนเกี่ยวกับแก่นแท้ของการออกแบบ API วันนี้มาลงลึกในแนวคิดหลักของการออกแบบ API และดูกันว่าทำไมข้อถกเถียงนี้ไ ม่ควรมีตั้งแต่ต้น
ความเข้าใจผิดของ "ใช้ POST เท่านั้น"
นักพัฒนาที่สนับสนุนการใช้ "POST เท่านั้น" แทนที่จะเป็นข้อกำหนดของ RESTful API ชัดเจนว่าไม่ได้จับจุดสำคัญที่สุดของการออกแบบ API ข้อเสนอของพวกเขามักจะรวมถึง:
- ทำให้การออกแบบง่ายขึ้น: วิธีเดียวจัดการทุกอย่าง
- ความปลอดภัย: พารามิเตอร์ POST ไม่ปรากฏใน URL
- ความยืดหยุ่น: POST สามารถส่งโครงสร้างข้อมูลใดก็ได้
เมื่อดูเผิน ๆ ข้อโต้แย้งเหล่านี้ดูเหมือนจะมีเหตุผล แต่ในความเป็นจริงมุมมองนี้สับสนระหว่างการเลือกใช้ HTTP methods กับสไตล์การออกแบบ API ซึ่งเป็นคำถามในระดับที่ต่างกัน POST เป็นเพียงหนึ่งในวิธีของ HTTP protocol ในขณะที่ REST เป็นสไตล์ของการออกแบบ API