Rest API...ทำงานอย่างไร
#nodejs #RestApi #ป้ายยากับlemon8 #ติดเทรนด์
🌐 REST API คืออะไร?REST API ย่อมาจาก REpresentational State Transfer Application Programming Interfaceในความหมายอย่างง่าย คือ ชุดของกฎเกณฑ์และหลักการทางสถาปัตยกรรม (Architectural Style) สำหรับการสร้างเว็บเซอร์วิส (Web Services) ที่ทำให้ระบบซอฟต์แวร์สองระบบที่แตกต่างกันสามารถ สื่อสารแลกเปลี่ยนข้อมูลกันผ่านอินเทอร์เน็ต ได้อย่างมีมาตรฐาน🗝️ หัวใจหลักของ RESTREST เน้นการสื่อสารโดยยึดหลักของ "ทรัพยากร" (Resources) โดยที่ทรัพยากรแต่ละตัวจะถูกระบุด้วย URL (Uniform Resource Locator) ที่ไม่ซ้ำกันทรัพยากร (Resource): คือข้อมูลหรือสิ่งใดก็ตามที่ระบบต้องการจัดการ เช่น ผู้ใช้ (Users), สินค้า (Products), คำสั่งซื้อ (Orders)การแสดงสถานะ (Representational State Transfer): เมื่อ Client (เช่น เว็บเบราว์เซอร์ หรือแอปพลิเคชันมือถือ) ร้องขอทรัพยากร ข้อมูลจะถูกส่งกลับไปในรูปแบบที่เรียกว่า "Representation" ซึ่งส่วนใหญ่มักจะเป็น JSON (JavaScript Object Notation) หรือ XML🛠️ หลักการทำงานของ REST APIREST API ใช้ โปรโตคอล HTTP (Hypertext Transfer Protocol) เป็นพื้นฐานในการสื่อสาร การทำงานจึงเป็นไปตามรูปแบบ Client-Server และใช้ "คำกริยา" หรือ HTTP Methods ในการระบุการกระทำที่ต้องการทำต่อ "ทรัพยากร" นั้น ๆ1. การร้องขอ (The Request)Client (ผู้ร้องขอ) จะส่งคำร้องขอ HTTP ไปยัง Server (ผู้ให้บริการ API) ซึ่งคำร้องขอประกอบด้วย 3 ส่วนหลัก:Endpoint/URI: ตำแหน่งของทรัพยากรที่ต้องการ เช่น https://api.example.com/products/123HTTP Method: บอกว่าต้องการทำอะไรกับทรัพยากรนั้น (เปรียบเสมือนคำกริยา)Headers และ Body: ข้อมูลเพิ่มเติมHeaders: ใช้สำหรับ Authentication (การยืนยันตัวตน), ระบุรูปแบบข้อมูลที่ต้องการ (เช่น Accept: application/json)Body: ใช้สำหรับส่งข้อมูลไปให้ Server (เช่น ข้อมูลสินค้าใหม่ตอนใช้ POST)2. HTTP Methods (CRUD Operations)HTTP Method หลัก ๆ จะถูกใช้ในการดำเนินการ CRUD (Create, Read, Update, Delete) บนทรัพยากร:HTTP Methodการดำเนินการ (CRUD)ความหมายตัวอย่าง URI (สมมติว่าเป็นรายการ User)GETReadดึงข้อมูล ทรัพยากรจาก ServerGET /users (ดึงผู้ใช้ทั้งหมด) หรือ GET /users/1 (ดึงผู้ใช้ ID 1)POSTCreateสร้าง ทรัพยากรใหม่POST /users (สร้างผู้ใช้ใหม่)PUTUpdateอัปเดต ทรัพยากรที่มีอยู่ ทั้งหมดPUT /users/1 (แทนที่ข้อมูลผู้ใช้ ID 1 ทั้งหมด)DELETEDeleteลบ ทรัพยากรที่ระบุDELETE /users/1 (ลบผู้ใช้ ID 1)PATCHUpdateอัปเดต ทรัพยากรที่มีอยู่ บางส่วนPATCH /users/1 (แก้ไขแค่ชื่อของผู้ใช้ ID 1)3. การตอบกลับ (The Response)Server จะประมวลผลคำร้องขอและส่งการตอบกลับ HTTP กลับไปให้ Client ซึ่งประกอบด้วย:Status Code: ตัวเลขรหัสสถานะที่บอกผลลัพธ์ของการร้องขอ200 OK: สำเร็จ201 Created: สร้างทรัพยากรใหม่สำเร็จ (มักใช้กับ POST)400 Bad Request: คำร้องขอไม่ถูกต้อง404 Not Found: ไม่พบทรัพยากร500 Internal Server Error: ข้อผิดพลาดที่ ServerHeaders: ข้อมูลเพิ่มเติมเกี่ยวกับ ResponseBody (Payload): ข้อมูลของทรัพยากรที่ Client ร้องขอ (เช่น ข้อมูลผู้ใช้ในรูปแบบ JSON)💡 ข้อจำกัดที่สำคัญ (Statelessness)หลักการสำคัญของ REST คือการเป็น Stateless (ไร้สถานะ) หมายความว่า:Server จะต้องไม่เก็บข้อมูลใด ๆ เกี่ยวกับการร้องขอครั้งก่อนหน้าของ Client การร้องขอแต่ละครั้งจะต้องมีข้อมูลทั้งหมดที่จำเป็นต่อการประมวลผลหลักการนี้ทำให้ API มีความยืดหยุ่นและปรับขนาด (Scalability) ได้ง่าย เพราะ Server สามารถจัดการคำร้องขอจาก Client ใดก็ได้โดยไม่ต้องจำว่า Client นั้นทำอะไรไปแล้วบ้าง








































































