RESTful
RESTful
- การตั่งชื่อต้องใช้ nouns อย่าใช้ verbs
- อย่าใช้ GET ในการแก้ไขข้อมูลใดๆ ทั่งสิ้น หรือสร้างข้อมูลใหม่
- ให้ใช้คำ nouns แบบพหูพจน์ (plural nouns) (ใช้ /authors แทน /author)
- ใช้ Standard HTTP Method (GET: ดึงข้อมูล, POST: สร้างข้อมูล, PUT: อัพเดตข้อมูล, DELETE: ลบข้อมูล)
-
เปิดใช้งาน overriding HTTP method
$.ajax({ url: "http://localhost/api/book/2", type: "POST", data: JSON.stringify(data), headers: { "Content-Type": "application/json", "X-HTTP-Method-Override": "PUT" }, })
- ใช้ sub name ในการเชื่อมความสัมพันธ์ของของมูล (GET /books/2/author/10 ดึงข้อมูลผู้แต่งหมายแลข 10 ที่หนังสือหมายเลข 2)
- ควรระบุ content-type ของการสื่อสารด้วยทั่ง clienกt และ server
- อย่าลืมระบุ version API ด้วย
-
ใช้ HTTP Status Codes คู่ไปกับการใช้ Message ในการจัดการกับ Error ขอระบบ
- 200 OK – [GET]
- 201 CREATED – [POST/PUT/PATCH]
- 204 NO CONTENT – [DELETE]
- 304 NOT MODIFIED
- 400 INVALID REQUEST – [POST/PUT/PATCH]
- 401 UNAUTHORIZED
- 403 FORBIDDEN
- 404 NOT FOUND
-
500 INTERNAL SERVER ERROR
- ในการดึงข้อมูลที่ซับซ้อน หรือมี state เยอะๆ ให้ทำ Query String ด้วย GET (GET /api/v1/books?fields=name,price,author,type,categories&sort=asc&page=1&limit=10)