บทความ
Rest API ต่างจาก API อย่างไรบ้าง
API (Application Programming Interface) คือชุดของโค้ดและกฎเกณฑ์ที่ใช้ในการสื่อสารระหว่าง Application หรือ Service ต่าง ๆ ที่เชื่อมต่อกันผ่านเครือข่ายอินเทอร์เน็ต ซึ่งมีหลายรูปแบบ แต่ส่วนใหญ่ถูกนำมาใช้ในการส่งข้อมูลระหว่าง Application หรือ Service ต่าง ๆ
API สามารถแบ่งออกเป็น 2 ประเภทหลัก คือ REST API (Representational State Transfer) และ Non-RESTful API
REST API คือสถาปัตยกรรมของการออกแบบ API ที่ใช้ HTTP Method (GET, POST, PUT, DELETE) เพื่อเข้าถึงข้อมูลในรูปแบบของ Resource โดยมีคุณสมบัติดังนี้
-
Stateless: ไม่มีการเก็บข้อมูลเฉพาะ session ของผู้ใช้งาน ทำให้สามารถ scale และ maintain ได้ง่าย
-
Cacheable: สามารถเก็บแคชข้อมูลได้เพื่อลดการใช้งานแบนด์วิดธ์และเพิ่มประสิทธิภาพในการเรียกข้อมูล
-
Client-Server Architecture: มีการแยกตัว client และ server ออกจากกัน เพื่อให้มีการแยกแยะง่ายขึ้นและเป็นไปตามหลักการ Single Responsibility Principle
-
Layered System: มีการแบ่งระบบออกเป็นชั้นเพื่อให้มีความยืดหยุ่นและสามารถเปลี่ยนแปลงได้ง่าย
Non-RESTful API จะไม่ใช้ HTTP Method และไม่มีการออกแบบตามคุณสมบัติของ REST API แต่อาจมีคุณสมบัติเฉพาะตามการออกแบบเฉพาะของ API นั้น ๆ
สรุปคือ REST API คือสถาปัตยกรรมของการออกแบบ API โดยใช้ HTTP Method และมีคุณสมบัติตาม REST ซึ่งมีความยืดหยุ่นและเป็นไปตามหลักการแบ่งแยกความรับผิดชอบ ส่วน Non-RESTful API จะไม่ใช้ HTTP Method และไม่มีการออกแบบตามคุณสมบัติของ REST API แต่อาจมีคุณสมบัติเฉพาะตามการออกแบบของ API นั้น ๆ
หนังสือพัฒนาตัวเอง
จุดเริ่มต้นที่ชัดเจน