REST API คืออะไรและทำงานอย่างไร – คำแนะนำสำหรับผู้เริ่มต้น

เผยแพร่แล้ว: 2023-11-09

REST API หรือ Representational State Transfer Application Programming Interface คือชุดของกฎและแบบแผนที่ช่วยให้ระบบสามารถสื่อสารระหว่างกันผ่านทางอินเทอร์เน็ต เป็นรูปแบบสถาปัตยกรรมที่ใช้กันอย่างแพร่หลายสำหรับการออกแบบแอปพลิเคชันบนเครือข่าย

REST ขึ้นอยู่กับโมเดลไคลเอนต์-เซิร์ฟเวอร์ โดยที่ไคลเอนต์ เช่น เว็บเบราว์เซอร์หรือแอปมือถือ ทำการร้องขอไปยังเซิร์ฟเวอร์ และเซิร์ฟเวอร์ตอบสนองด้วยข้อมูลที่ร้องขอหรือดำเนินการบางอย่าง ต่อไปนี้เป็นรายละเอียดแนวคิดหลักที่เกี่ยวข้องกับ REST API

ทรัพยากร

ใน REST ทุกอย่างถือเป็นทรัพยากร ซึ่งอาจเป็นส่วนเฉพาะของข้อมูลหรืออ็อบเจ็กต์ก็ได้ ตัวอย่างเช่น โพสต์ในบล็อก โปรไฟล์ผู้ใช้ หรือผลิตภัณฑ์อาจเป็นแหล่งข้อมูลได้

ตัวระบุทรัพยากรที่เหมือนกัน

ทรัพยากรแต่ละรายการจะถูกระบุโดย Uniform Resource Identifier (URI) ที่ไม่ซ้ำกัน หรือที่เรียกกันทั่วไปว่า URI URI แสดงถึงที่อยู่ของทรัพยากรบนเซิร์ฟเวอร์

วิธีการ HTTP

REST API ใช้วิธีการ HTTP เพื่อกำหนดการดำเนินการที่จะดำเนินการกับทรัพยากร วิธีการที่ใช้บ่อยที่สุดมีดังต่อไปนี้

  • GET: วิธีการนี้จะส่งคืนการเป็นตัวแทนของทรัพยากร
  • โพสต์: สร้างทรัพยากรใหม่
  • PUT: วิธีการนี้จะอัปเดตหรือแทนที่ทรัพยากรที่มีอยู่
  • ลบ: ลบทรัพยากร

การเป็นตัวแทน

ทรัพยากรสามารถแสดงได้หลายรูปแบบ รวมถึง JSON, XML และ HTML ไคลเอนต์และเซิร์ฟเวอร์ตกลงในรูปแบบการแสดงโดยใช้ส่วนหัว HTTP

การสื่อสารไร้สัญชาติ

REST API ไม่มีสถานะ ซึ่งหมายความว่าแต่ละคำขอจากไคลเอ็นต์ไปยังเซิร์ฟเวอร์จะต้องมีข้อมูลที่จำเป็นทั้งหมดเพื่อทำความเข้าใจและประมวลผลคำขอ เซิร์ฟเวอร์ไม่รักษาสถานะเฉพาะไคลเอ็นต์ใด ๆ ระหว่างคำขอ

คำตอบ

เมื่อเซิร์ฟเวอร์ได้รับการร้องขอ เซิร์ฟเวอร์จะประมวลผลและส่งการตอบกลับ โดยทั่วไปการตอบสนองจะมีรหัสสถานะที่บ่งชี้ความสำเร็จหรือความล้มเหลวของคำขอ (เช่น 200 สำหรับความสำเร็จ 404 สำหรับไม่พบ) และข้อมูลที่ร้องขอหรือข้อมูลที่เกี่ยวข้อง

“REST” และ “API” หมายถึงอะไรตามลำดับ?

“REST” ย่อมาจาก Representational State Transfer เป็นรูปแบบสถาปัตยกรรมสำหรับการออกแบบแอปพลิเคชันบนเครือข่ายและบริการเว็บ

“API” ย่อมาจาก Application Programming Interface เป็นชุดของกฎและโปรโตคอลที่ให้โปรแกรมซอฟต์แวร์ต่างๆ เชื่อมต่อถึงกัน API กำหนดวิธีที่ส่วนประกอบของระบบซอฟต์แวร์ต่างๆ สามารถโต้ตอบและแลกเปลี่ยนข้อมูลได้

เมื่อรวมกันแล้ว “REST API” หมายถึง API ที่เป็นไปตามหลักการของรูปแบบสถาปัตยกรรม REST เป็นชุดของกฎและแบบแผนสำหรับการสร้างบริการเว็บที่สามารถเข้าถึงได้ผ่านทางอินเทอร์เน็ตโดยใช้ HTTP (Hypertext Transfer Protocol) REST API มอบวิธีที่เป็นมาตรฐานสำหรับระบบในการสื่อสารและแลกเปลี่ยนข้อมูล โดยทั่วไปจะอยู่ในรูปแบบของ JSON หรือ XML

REST API ทำงานอย่างไร

REST API (Representational State Transfer Application Programming Interface) ทำงานตามโมเดลไคลเอ็นต์-เซิร์ฟเวอร์ และเป็นไปตามชุดหลักการและแบบแผน ต่อไปนี้เป็นภาพรวมทีละขั้นตอนเกี่ยวกับวิธีการทำงานของ REST API

1. ลูกค้าส่งคำขอ

ไคลเอนต์ ซึ่งอาจเป็นเว็บเบราว์เซอร์ แอปมือถือ หรือแอปพลิเคชันอื่น ๆ เริ่มต้นการสื่อสารโดยส่งคำขอ HTTP ไปยังเซิร์ฟเวอร์ คำขอประกอบด้วย URL (Uniform Resource Locator) ของทรัพยากรที่ต้องการและวิธีการ HTTP (GET, POST, PUT, DELETE ฯลฯ) ที่ระบุถึงการดำเนินการที่จะดำเนินการ

2. เซิร์ฟเวอร์รับคำขอ

เซิร์ฟเวอร์รับคำขอและประมวลผลตาม URL และวิธีการ HTTP ที่ให้ไว้ เซิร์ฟเวอร์ระบุทรัพยากรที่ร้องขอและกำหนดการดำเนินการที่เหมาะสมที่จะดำเนินการ

3. เซิร์ฟเวอร์ประมวลผลคำขอ

ขึ้นอยู่กับวิธี HTTP เซิร์ฟเวอร์ดำเนินการที่จำเป็นกับทรัพยากรที่ร้องขอ ตัวอย่างเช่น:

  • รับ: เซิร์ฟเวอร์ดึงทรัพยากรที่ร้องขอและส่งกลับไปยังไคลเอนต์ในการตอบกลับ
  • POST: เซิร์ฟเวอร์สร้างทรัพยากรใหม่ตามข้อมูลที่ลูกค้าส่งมา
  • PUT: เซิร์ฟเวอร์อัปเดตหรือแทนที่ทรัพยากรที่มีอยู่ด้วยข้อมูลที่ลูกค้าให้มา
  • ลบ: เซิร์ฟเวอร์จะลบทรัพยากรที่ร้องขอออกจากระบบ

4. เซิร์ฟเวอร์ส่งการตอบกลับ

เซิร์ฟเวอร์สร้างการตอบสนอง HTTP หลังจากประมวลผลคำขอ การตอบสนองประกอบด้วยรหัสสถานะที่ระบุผลลัพธ์ของคำขอ (เช่น 200 สำหรับความสำเร็จ 404 สำหรับไม่พบ) และอาจมีข้อมูลที่ร้องขอหรือข้อมูลที่เกี่ยวข้อง โดยทั่วไปการตอบกลับจะถูกส่งกลับไปยังไคลเอนต์ในรูปแบบเช่น JSON หรือ XML

5. ลูกค้าได้รับการตอบกลับ

การตอบสนอง HTTP ถูกส่งไปยังไคลเอนต์โดยเซิร์ฟเวอร์ โดยจะตีความรหัสสถานะเพื่อกำหนดความสำเร็จหรือความล้มเหลวของคำขอ หากการตอบสนองมีข้อมูล ลูกค้าสามารถแยกและใช้ข้อมูลนั้นได้ตามต้องการ

6. ลูกค้าประมวลผลการตอบสนอง

แอปพลิเคชันไคลเอ็นต์จะประมวลผลการตอบสนองที่ได้รับ แยกข้อมูลที่เกี่ยวข้อง และดำเนินการใดๆ ที่จำเป็นตามข้อมูลการตอบสนอง ซึ่งอาจเกี่ยวข้องกับการอัพเดตอินเทอร์เฟซผู้ใช้ การจัดเก็บข้อมูลในเครื่อง หรือการเรียกใช้คำขอที่ตามมาไปยัง API

รอบการตอบกลับคำขอนี้จะเกิดขึ้นซ้ำสำหรับการโต้ตอบแต่ละครั้งระหว่างไคลเอนต์และเซิร์ฟเวอร์ REST API ไม่มีสถานะ ซึ่งหมายความว่าแต่ละคำขอจากไคลเอนต์จะต้องมีข้อมูลที่จำเป็นทั้งหมดเพื่อให้เซิร์ฟเวอร์เข้าใจและประมวลผลคำขอ เซิร์ฟเวอร์ไม่รักษาสถานะเฉพาะไคลเอ็นต์ใด ๆ ระหว่างคำขอ

เหตุใดจึงเลือก REST API

โดยรวมแล้ว การเลือก REST API มอบความเรียบง่าย ความสามารถในการปรับขนาด การทำงานร่วมกัน และความเข้ากันได้กับมาตรฐานเว็บที่มีอยู่ ปัจจัยเหล่านี้ทำให้ REST เป็นตัวเลือกยอดนิยมสำหรับการสร้าง API ซึ่งช่วยให้สามารถสื่อสารและบูรณาการระหว่างระบบต่างๆ ในแอปพลิเคชันต่างๆ ได้อย่างมีประสิทธิภาพ

มีสาเหตุหลายประการว่าทำไมการเลือก REST API จึงเป็นประโยชน์สำหรับการพัฒนาแอปพลิเคชันของคุณ

1. ความเรียบง่ายและใช้งานง่าย

REST API นั้นค่อนข้างง่ายและเข้าใจง่าย ทั้งสำหรับนักพัฒนาและสำหรับลูกค้าที่โต้ตอบกับ API พวกเขาใช้วิธีการ HTTP มาตรฐานและปฏิบัติตามแนวทางที่อิงตามทรัพยากร ทำให้ง่ายต่อการทำงานและเรียนรู้

2. ความสามารถในการขยายขนาด

REST API ได้รับการออกแบบมาให้ปรับขนาดได้และสามารถรองรับไคลเอนต์และคำขอจำนวนมากได้ พวกเขาใช้คุณสมบัติความสามารถในการปรับขนาดของโปรโตคอล HTTP พื้นฐาน เช่น การทำสมดุลโหลดและการแคช ซึ่งสามารถปรับปรุงประสิทธิภาพและการตอบสนองของ API ได้

3. ความยืดหยุ่นและการทำงานร่วมกัน

REST API ช่วยให้สามารถทำงานร่วมกันระหว่างระบบและแพลตฟอร์มต่างๆ สามารถเข้าถึงได้โดยใช้ไลบรารี HTTP มาตรฐานที่มีอยู่ในภาษาการเขียนโปรแกรมส่วนใหญ่ ช่วยให้ลูกค้าสามารถใช้ API โดยไม่คำนึงถึงกลุ่มเทคโนโลยีของพวกเขา สิ่งนี้อำนวยความสะดวกในการบูรณาการกับบริการของบุคคลที่สามและช่วยให้สามารถพัฒนาแอปพลิเคชันไคลเอนต์ที่หลากหลาย

4. ธรรมชาติไร้สัญชาติ

REST API ไม่มีสถานะ ซึ่งหมายความว่าแต่ละคำขอจากไคลเอ็นต์จะมีข้อมูลที่จำเป็นทั้งหมดเพื่อให้เซิร์ฟเวอร์ประมวลผลได้ ความเรียบง่ายนี้ทำให้ API สามารถปรับขนาดได้มากขึ้น เนื่องจากเซิร์ฟเวอร์ไม่จำเป็นต้องรักษาสถานะเฉพาะไคลเอ็นต์ระหว่างคำขอ นอกจากนี้ยังช่วยให้ทนต่อข้อผิดพลาดได้ดีขึ้นและปรับสมดุลโหลดได้ง่ายขึ้น

5. การยอมรับอย่างกว้างขวางและการสนับสนุนชุมชน

REST เป็นรูปแบบสถาปัตยกรรมที่นำมาใช้กันอย่างแพร่หลาย และมีชุมชนนักพัฒนาและทรัพยากรมากมายที่พร้อมให้การสนับสนุน ซึ่งหมายความว่าคุณจะพบไลบรารี เฟรมเวิร์ก และเครื่องมือมากมายที่สร้างขึ้นเพื่อการทำงานกับ REST API โดยเฉพาะ ทำให้งานการพัฒนาง่ายขึ้นและมีประสิทธิภาพมากขึ้น

6. ความเข้ากันได้กับมาตรฐานเว็บ

REST API สร้างขึ้นจากโปรโตคอล HTTP โดยใช้ประโยชน์จากคุณสมบัติต่างๆ และเป็นไปตามมาตรฐาน ความเข้ากันได้นี้ช่วยให้แน่ใจว่า REST API สามารถผสานรวมกับเทคโนโลยีเว็บที่มีอยู่ได้อย่างราบรื่น เช่น กลไกการแคช โปรโตคอลความปลอดภัย (HTTPS) และกลไกการตรวจสอบสิทธิ์ (เช่น OAuth)

บทสรุป

โดยสรุป REST API มอบแนวทางที่เป็นมาตรฐานและปรับขนาดได้สำหรับการสร้างบริการเว็บและอำนวยความสะดวกในการสื่อสารระหว่างระบบ โดยการปฏิบัติตามหลักการของ REST เช่น การใช้เมธอด HTTP, URL ตามทรัพยากร และการตอบกลับแบบอธิบายตัวเอง REST API จึงนำเสนอความเรียบง่าย ความยืดหยุ่น และการทำงานร่วมกันได้

REST API ไม่เชื่อเรื่องภาษาและสามารถนำไปใช้ได้บนแพลตฟอร์มต่างๆ ช่วยให้สามารถบูรณาการและสื่อสารระหว่างระบบต่างๆ ได้อย่างง่ายดาย พวกเขาได้รับการยอมรับและสนับสนุนอย่างกว้างขวาง โดยมีชุมชนขนาดใหญ่ที่จัดหาทรัพยากรและเครื่องมือสำหรับการพัฒนา