API = พนักงานเสิร์ฟในร้านอาหาร
วิธีที่เข้าใจ API ได้ง่ายคือเปรียบเทียบกับร้านอาหาร ลูกค้าไม่ได้เข้าไปทำอาหารในครัวเอง แต่สั่งผ่านพนักงานเสิร์ฟ แล้วรอให้อาหารถูกนำมาเสิร์ฟ API ทำหน้าที่คล้ายพนักงานเสิร์ฟในตัวอย่างนี้
- ผู้ใช้บริการ (ลูกค้า)
- เว็บหรือแอปของเรา ซึ่งเป็นฝั่งที่ต้องการข้อมูลหรือต้องการให้ระบบทำงานบางอย่าง
- เมนู
- API Contract หรือข้อตกลงว่าเรียกใช้อะไรได้บ้าง และต้องส่งข้อมูลใดประกอบคำขอ
- การสั่งอาหาร
- Request — คำขอที่ผู้ใช้บริการส่งออกไป เช่น "ขอผัดไทย 1 จาน"
- พนักงานเสิร์ฟ
- API — ตัวกลางที่รับคำสั่ง ส่งต่อให้ครัว และนำผลลัพธ์กลับมาให้ผู้ใช้บริการ
- ครัว
- Back-End + Database หรือระบบเบื้องหลังที่ประมวลผลและจัดเก็บข้อมูล
- อาหารที่เสิร์ฟ
- Response — สิ่งที่ระบบส่งกลับมาหลังได้รับคำขอ
- "เมนูนี้หมดครับ"
- Error / Status Code — ข้อความหรือรหัสที่บอกว่าเกิดปัญหาใดขึ้น
หัวใจสำคัญคือ ผู้ใช้งาน API ไม่จำเป็นต้องรู้รายละเอียดทั้งหมดของระบบเบื้องหลัง แต่ต้องรู้ว่าจะส่งคำขออย่างไร และจะได้รับข้อมูลรูปแบบใดกลับมา