REST API คืออะไร?
REST API (Representational State Transfer Application Programming Interface) เป็นวิธีการในการสื่อสารระหว่างแอปพลิเคชันต่างๆ ผ่านอินเทอร์เน็ต โดยใช้ HTTP (Hypertext Transfer Protocol) เป็นโปรโตคอลหลักในการส่งข้อมูลไปมาระหว่างกัน เปรียบเสมือนภาษาที่แอปต่างๆ ใช้สื่อสารกันเพื่อแลกเปลี่ยนข้อมูล
ทำไมต้อง REST API?
- ความยืดหยุ่น : สามารถใช้งานได้กับภาษาโปรแกรมและแพลตฟอร์มต่างๆ
- มาตรฐาน : ใช้ HTTP เป็นมาตรฐาน ทำให้เข้าใจและใช้งานได้ง่าย
- ง่ายต่อการเรียนรู้ : มีโครงสร้างที่ชัดเจน เข้าใจหลักการได้ไม่ยาก
- ประสิทธิภาพ : สามารถส่งข้อมูลได้รวดเร็วและมีประสิทธิภาพ
องค์ประกอบหลักของ REST API
- Resource : แสดงถึงข้อมูลที่เราต้องการเข้าถึง เช่น ผู้ใช้, สินค้า, บทความ เป็นต้น
- HTTP Method : กำหนดการกระทำที่ต้องการทำกับ Resource เช่น
- GET: ใช้สำหรับดึงข้อมูล
- POST: ใช้สำหรับสร้างข้อมูลใหม่
- PUT: ใช้สำหรับอัปเดตข้อมูล
- DELETE: ใช้สำหรับลบข้อมูล
- Status Code: แสดงผลลัพธ์ของการร้องขอ เช่น 200 (สำเร็จ), 404 (ไม่พบ), 500 (เกิดข้อผิดพลาด)
ตัวอย่าง REST API
สมมติว่าเรามี API สำหรับจัดการข้อมูลผู้ใช้ เราอาจมี endpoint ดังนี้ :
- GET /users : ดึงข้อมูลผู้ใช้ทั้งหมด
- POST /users : สร้างผู้ใช้ใหม่
- GET /users/{id} : ดึงข้อมูลผู้ใช้รายหนึ่ง โดย {id} คือรหัสประจำตัวของผู้ใช้
- PUT /users/{id} : อัปเดตข้อมูลผู้ใช้รายหนึ่ง
- DELETE /users/{id} : ลบผู้ใช้รายหนึ่ง
JSON : ภาษาของ REST API
JSON (JavaScript Object Notation) เป็นรูปแบบข้อมูลที่นิยมใช้ในการส่งข้อมูลใน REST API เนื่องจากมีโครงสร้างที่เรียบง่ายและอ่านเข้าใจง่าย
{
"name": "John Doe",
"email": "
This email address is being protected from spambots. You need JavaScript enabled to view it. ","age": 30
}
สร้าง REST API เบื้องต้น
เราสามารถสร้าง REST API ได้ด้วยภาษาโปรแกรมต่างๆ เช่น Python (ด้วย Flask หรือ Django), Node.js (ด้วย Express.js), หรือภาษาอื่นๆ
ตัวอย่างด้วย Python (Flask) :
from flask import Flask, jsonify
app = Flask(__name__)
users = [
{"id": 1, "name": "Alice"},
{"id": 2, "name": "Bob"}
]
@app.route('/users')
def get_users():
return jsonify(users)
if __name__ == '__main__':
app.run(debug=True)
Best Practices ในการสร้าง REST API
- ออกแบบให้เข้าใจง่าย : ใช้ URL และ HTTP Method ที่ชัดเจน
- สอดคล้อง : ใช้รูปแบบเดียวกันตลอดทั้ง API
- ปลอดภัย : ป้องกันการโจมตีต่างๆ เช่น SQL Injection, XSS
- Versioning : กำหนดเวอร์ชันของ API เพื่อให้สามารถเปลี่ยนแปลงได้โดยไม่กระทบต่อผู้ใช้งาน
สรุป
REST API เป็นส่วนสำคัญในการพัฒนาแอปพลิเคชันสมัยใหม่ การเข้าใจหลักการพื้นฐานของ REST API จะช่วยให้คุณสามารถสร้างและใช้งาน API ได้อย่างมีประสิทธิภาพ หากต้องการศึกษาเพิ่มเติม สามารถค้นหาข้อมูลเพิ่มเติมได้จากแหล่งข้อมูลต่างๆ บนอินเทอร์เน็ต