หมวดหมู่: API

RESTful ( Representational State Transfer )RESTful ( Representational State Transfer )

RESTful ( Representational State Transfer ) คือรูปแบบสถาปัตยกรรม ( Architectural Style ) ในการออกแบบ Web Service ที่เน้นความเรียบง่าย ประสิทธิภาพ และความสามารถในการขยายระบบ โดยจะอาศัย HTTP Protocol มาตรฐานในการรับ-ส่งข้อมูล


💡 หลักการสำคัญของ RESTful ( Constraints )

เพื่อให้ระบบเป็น RESTful อย่างแท้จริง ควรมีคุณสมบัติดังนี้

  • Stateless: ทุกคำสั่งที่ส่งไปยัง Server ต้องมีข้อมูลครบถ้วนในตัวมันเอง Server จะไม่เก็บ “สถานะ” ( Session ) ของผู้ใช้ไว้
  • Client-Server: แยกส่วนการทำงานระหว่างหน้าบ้าน (UI) และหลังบ้าน ( Data / Logic ) ออกจากกันชัดเจน
  • Cacheable: ระบบควรระบุได้ว่าข้อมูลไหนสามารถเก็บไว้ใน Cache ได้ เพื่อลดภาระของ Server
  • Uniform Interface: มีรูปแบบการเข้าถึงข้อมูลที่เหมือนกันและเป็นมาตรฐาน ( เช่นการใช้ URL )

🛠 การใช้งานผ่าน HTTP Methods

RESTful จะนำ HTTP Verbs มาใช้แทนการกระทำต่าง ๆ กับข้อมูล ( Resources ) ดังนี้

Methodการทำงาน ( CRUD )คำอธิบาย
GETReadดึงข้อมูลจาก Server ( เช่น ดูรายชื่อสินค้า )
POSTCreateส่งข้อมูลใหม่ไปสร้างบน Server ( เช่น เพิ่มสินค้าใหม่ )
PUTUpdate ( Replace )อัปเดตข้อมูลเดิมโดยแทนที่ทั้งหมดด้วยข้อมูลใหม่
PATCHUpdate ( Partial )อัปเดตข้อมูลเดิมเพียงบางส่วน
DELETEDeleteลบข้อมูลที่ระบุ

🛣 โครงสร้างของ URL ( Endpoint )

การออกแบบ Endpoint ที่ดีควรใช้ คำนาม ( Nouns ) แทนคำกริยา และเน้นความเป็นลำดับชั้น

  • GET /users — ดึงรายชื่อผู้ใช้ทั้งหมด
  • GET /users/123 — ดึงข้อมูลผู้ใช้ ID 123
  • POST /users/123/orders — สร้างรายการสั่งซื้อใหม่ให้ผู้ใช้ ID 123

อ่านเพิ่มเติม