Methods, CRUD และ Idempotency
REST API ส่วนใหญ่คือการ create, read, update และ delete บน resource ต่าง ๆ ความยากอยู่ที่การจับคู่การกระทำเหล่านั้นเข้ากับ HTTP method ให้ถูก เพื่อให้ทั้ง client, proxy และ logic การ retry ของคุณเองทำงานได้อย่างถูกต้อง
CRUD สู่ HTTP
หัวข้อที่มีชื่อว่า “CRUD สู่ HTTP”flowchart LR Create -->|POST /articles| C[201 Created] Read -->|GET /articles or /articles/42| R[200 OK] Update -->|PUT or PATCH /articles/42| U[200 OK] Delete -->|DELETE /articles/42| D[204 No Content]
การจับคู่นี้ไม่ได้เกิดขึ้นแบบสุ่ม แต่ละ method มาพร้อมการรับประกันเรื่อง safety (เปลี่ยนแปลงข้อมูลหรือไม่?) และ idempotency (ทำซ้ำแล้วผลเหมือนทำครั้งเดียวหรือไม่?) การรับประกันเหล่านี้แหละที่ทำให้ client retry request ที่หายไปได้อย่างปลอดภัย และทำให้ proxy cache response ได้
โมดูลนี้ครอบคลุมอะไรบ้าง
หัวข้อที่มีชื่อว่า “โมดูลนี้ครอบคลุมอะไรบ้าง”- GET & POST — การอ่านอย่างปลอดภัยและการสร้าง resource
- PUT, PATCH & DELETE — การแทนที่ การอัปเดตบางส่วน และการลบ
- Idempotency & safety — คุณสมบัติที่ทำให้การ retry ปลอดภัย
- Bulk & async — การทำงานแบบ batch และงานที่ใช้เวลานาน