อะไรคือ Idempotency?
Idempotency เป็นความคิดสำคัญใน API ที่รับรองว่าการดำเนินการซ้ำจะมีผลเหมือนกับการดำเนินการเดียวกันเป็นครั้งเดียว บทความนี้สำรวจความหมายของแนวคิด idempotency ความสำคัญของมันและวิธีการนำมาใช้ในการออกแบบ API
เข้าใจคุณสมบัติของการเอาค่าซ้ำกันออก
คุณสมบัติของการเอาค่าซ้ำกัน หมายถึงคุณสมบัติของการดำเนินการบางอย่างในคอมพิวเตอร์ที่สามารถนำไปใช้ได้หลายครั้งโดยที่ไม่เปลี่ยนแปลงผลลัพธ์จากการใช้ครั้งแรก ในบริบทของ API การดำเนินการที่เอาค่าซ้ำกันได้หมายถึงการทำการเรียก API เดิมหลายครั้งจะให้ผลลัพธ์เดียวกันกับการทำครั้งเดียว
ความสำคัญของคุณสมบัติของการเอาค่าซ้ำกัน
คุณสมบัติของการเอาค่าซ้ำกันเป็นสิ่งสำคัญในการให้ความสม่ำเสมอและความน่าเชื่อถือในการดำเนินการของ API มันช่วยป้องกันผลข้างเคียงที่ไม่ตั้งใจจากคำขอที่ทำซ้ำซึ่งอาจเกิดขึ้นได้จากปัญหาเครือข่าย การดำเนินการของผู้ใช้ หรือปัจจัยอื่น ๆ
วิธีการเอาค่าซ้ำกันใน HTTP
ใน HTTP บางวิธีการมีคุณสมบัติของการเอาค่าซ้ำกันอยู่และบางวิธีการไม่มี:
- GET: ดึงข้อมูลโดยไม่เปลี่ยนแปลงสถานะของเซิร์ฟเวอร์ ทำให้มีคุณสมบัติของการเอาค่าซ้ำกัน
- PUT: อัปเดตทรัพยากร แน่นอนว่าผลลัพธ์จะเหมือนกันไม่ว่าการดำเนินการจะทำซ้ำกี่ครั้ง
- DELETE: ลบทรัพยากร และการขอซ้ำจะให้ผลลัพธ์เหมือนเดิม
- POST: มักใช้สำหรับการสร้างทรัพยากรและมักจะไม่มีคุณสมบัติของการเอาค่าซ้ำกัน เนื่องจากคำขอที่ทำซ้ำอาจสร้างรายการที่ซ้ำกัน