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 นั้นทำอะไรไปแล้วบ้าง

2025/12/13 แก้ไขเป็น

... อ่านเพิ่มเติมในยุคปัจจุบันที่เทคโนโลยีขับเคลื่อนการเชื่อมต่อข้อมูลกันอย่างรวดเร็ว REST API จึงกลายเป็นเครื่องมือสำคัญสำหรับนักพัฒนาเว็บและแอปพลิเคชันมือถือ โดย REST API เป็นมาตรฐานที่อำนวยความสะดวกในการสื่อสารระหว่างโปรแกรมสองระบบผ่านทาง HTTP Protocol ซึ่งเป็นโพรโทคอลที่ใช้กันอย่างกว้างขวางบนอินเทอร์เน็ต หนึ่งในจุดเด่นของ REST API คือการยึดหลักของการจัดการทรัพยากร (Resources) ที่ถูกระบุด้วย URL เฉพาะเจาะจง ทำให้การร้องขอข้อมูลหรือส่งข้อมูลใหม่เป็นไปอย่างชัดเจนและเป็นระบบ HTTP Methods อย่าง GET, POST, PUT, DELETE, และ PATCH จะทำหน้าที่กำหนดให้ Server รู้ว่าควรทำอะไรกับทรัพยากรนั้น เช่น GET สำหรับดึงข้อมูล, POST สำหรับสร้างข้อมูลใหม่, PUT และ PATCH สำหรับการแก้ไข และ DELETE สำหรับการลบข้อมูล นอกจากนี้ REST API ยังมีข้อกำหนดสำคัญคือ Statelessness ซึ่ง Server จะไม่จดจำสถานะของ Client แต่ละตัวหลังจบคำร้อง ทำให้การจัดการคำขอในระบบมีความยืดหยุ่นและรองรับการขยายระบบได้ดี เหมาะกับบริการออนไลน์ที่มีผู้ใช้จำนวนมากและกระจายตัวอยู่ทั่วโลก ส่วนการตอบกลับจาก Server จะประกอบด้วย Status Code ที่ช่วยให้ Client รู้สถานะของคำขอ เช่น 200 OK หมายถึงคำขอสำเร็จ, 201 Created หมายถึงข้อมูลถูกสร้างขึ้นเรียบร้อย, หรือ 404 Not Found หากไม่พบข้อมูลที่ร้องขอ พร้อมทั้งมีส่วนของ Body ที่ส่งข้อมูลในรูปแบบที่เข้าใจง่ายอย่าง JSON หรือ XML เพื่อให้โปรแกรมประมวลผลต่อไปได้อย่างมีประสิทธิภาพ ในแง่ของความปลอดภัย REST API สามารถใช้ระบบ Authentication ผ่าน Headers เพื่อยืนยันตัวตนของ Client ก่อนอนุญาตให้เข้าถึงทรัพยากรต่าง ๆ ได้ ทำให้นักพัฒนาสามารถออกแบบระบบที่ทั้งง่ายต่อการใช้งานและมีมาตรฐานสูง ด้วยเหตุนี้ REST API จึงเป็นเทคโนโลยีที่ได้รับการยอมรับและนิยมใช้อย่างกว้างขวางสำหรับการพัฒนาระบบเว็บและแอปพลิเคชันยุคใหม่ที่ต้องการความรวดเร็วในการสื่อสารข้อมูลและความสอดคล้องในการจัดการทรัพยากรต่าง ๆ ผ่านระบบเครือข่ายอินเทอร์เน็ต