API là gì? REST API và cách hoạt động đơn giản
Mỗi khi bạn mở app thời tiết và thấy nhiệt độ hiện tại, hay đăng nhập bằng Google — phía sau đó là API đang làm việc. Hiểu API giúp bạn hiểu cách các ứng dụng hiện đại hoạt động.
API là gì? Giải thích bằng ví dụ thực tế
Hãy tưởng tượng bạn vào nhà hàng: Bạn gọi phục vụ (API), đưa yêu cầu. Phục vụ chuyển yêu cầu đến bếp (Server). Bếp làm xong, phục vụ mang ra cho bạn.
API (Application Programming Interface) là tập hợp các quy tắc cho phép hai phần mềm giao tiếp với nhau.
Tại sao API quan trọng?
- App bản đồ → Google Maps API
- "Đăng nhập bằng Google" → Google OAuth API
- App thời tiết → OpenWeatherMap API
- Thanh toán online → VNPay API, MoMo API
REST API — Loại API phổ biến nhất (~80%)
HTTP Methods
| Method | Mục đích | Ví dụ |
|---|---|---|
| GET | Lấy dữ liệu | Lấy danh sách bài viết |
| POST | Tạo dữ liệu mới | Đăng ký tài khoản |
| PUT/PATCH | Cập nhật dữ liệu | Sửa thông tin profile |
| DELETE | Xóa dữ liệu | Xóa bài đăng |
HTTP Status Codes
| Mã | Ý nghĩa |
|---|---|
| 200 OK | Thành công |
| 201 Created | Tạo mới thành công |
| 400 Bad Request | Yêu cầu sai |
| 401 Unauthorized | Chưa đăng nhập |
| 404 Not Found | Không tìm thấy |
| 500 Server Error | Lỗi phía server |
Gọi API bằng JavaScript
async function layDanhSachBaiViet() {
try {
const response = await fetch('https://jsonplaceholder.typicode.com/posts');
if (!response.ok) throw new Error(`Lỗi HTTP: ${response.status}`);
const baiViet = await response.json();
console.log(`Tổng số bài viết: ${baiViet.length}`);
} catch (error) {
console.error("Lỗi khi gọi API:", error);
}
}
Gọi API bằng Python
import requests
def lay_thong_tin_nguoi_dung(user_id):
url = f"https://jsonplaceholder.typicode.com/users/{user_id}"
try:
response = requests.get(url, timeout=10)
response.raise_for_status()
user = response.json()
print(f"Tên: {user['name']}")
return user
except requests.RequestException as e:
print(f"Lỗi: {e}")
return None
Bảo mật API
# ĐÚNG — Dùng biến môi trường
import os
api_key = os.getenv("MY_API_KEY")
# Tuyệt đối không đưa API key lên GitHub!
Kết luận
API là xương sống của mọi ứng dụng web hiện đại. Hiểu REST API và biết cách gọi API bằng JavaScript hoặc Python sẽ mở ra rất nhiều cơ hội trong lập trình.