RESTful คือรูปแบบสถาปัตยกรรม ในการออกแบบ Web Service ที่เน้นความเรียบง่าย ประสิทธิภาพ และความสามารถในการขยายระบบ โดยจะอาศัย HTTP Protocol มาตรฐานในการรับ-ส่งข้อมูล
💡 หลักการสำคัญของ RESTful
เพื่อให้ระบบเป็น RESTful อย่างแท้จริง ควรมีคุณสมบัติดังนี้
- Stateless: ทุกคำสั่งที่ส่งไปยัง Server ต้องมีข้อมูลครบถ้วนในตัวมันเอง Server จะไม่เก็บ “สถานะ” ของผู้ใช้ไว้
- Client-Server: แยกส่วนการทำงานระหว่างหน้าบ้าน (UI) และหลังบ้าน ออกจากกันชัดเจน
- Cacheable: ระบบควรระบุได้ว่าข้อมูลไหนสามารถเก็บไว้ใน Cache ได้ เพื่อลดภาระของ Server
- Uniform Interface: มีรูปแบบการเข้าถึงข้อมูลที่เหมือนกันและเป็นมาตรฐาน
🛠 การใช้งานผ่าน HTTP Methods
RESTful จะนำ HTTP Verbs มาใช้แทนการกระทำต่าง ๆ กับข้อมูล ดังนี้
| Method | การทำงาน | คำอธิบาย |
| GET | Read | ดึงข้อมูลจาก Server |
| POST | Create | ส่งข้อมูลใหม่ไปสร้างบน Server |
| PUT | Update | อัปเดตข้อมูลเดิมโดยแทนที่ทั้งหมดด้วยข้อมูลใหม่ |
| PATCH | Update | อัปเดตข้อมูลเดิมเพียงบางส่วน |
| DELETE | Delete | ลบข้อมูลที่ระบุ |
🛣 โครงสร้างของ URL
การออกแบบ Endpoint ที่ดีควรใช้ คำนาม แทนคำกริยา และเน้นความเป็นลำดับชั้น
GET /users— ดึงรายชื่อผู้ใช้ทั้งหมดGET /users/123— ดึงข้อมูลผู้ใช้ ID 123POST /users/123/orders— สร้างรายการสั่งซื้อใหม่ให้ผู้ใช้ ID 123
อ่านเพิ่มเติม