REST API Là Gì?
REST API (Representational State Transfer Application Programming Interface) là một kiểu thiết kế API dựa trên các nguyên tắc của kiến trúc REST. Nó cho phép các ứng dụng giao tiếp với nhau thông qua giao thức HTTP/HTTPS, thường sử dụng định dạng JSON hoặc XML để trao đổi dữ liệu.
Ví dụ thực tế:
Khi dùng app Facebook, ứng dụng không lưu trữ toàn bộ dữ liệu trên điện thoại mà gọi đến server thông qua REST API để lấy thông tin bài viết, hình ảnh.
Các Thành Phần Chính
Resource (Tài Nguyên)
-
Là dữ liệu bạn muốn thao tác (users, products, orders…)
-
Được truy cập qua endpoint (URL)
Ví dụ:
https://api.example.com/users → Danh sách người dùng
https://api.example.com/products/1 → Thông tin sản phẩm có ID=1
HTTP Methods
-
GET: Lấy dữ liệu (ví dụ: load danh sách sản phẩm)
-
POST: Tạo mới (ví dụ: thêm user mới)
-
PUT/PATCH: Cập nhật (PUT thay đổi toàn bộ, PATCH chỉ thay đổi một phần)
-
DELETE: Xóa dữ liệu (ví dụ: xóa một bài viết)
HTTP Status Codes
-
2xx (Thành công):
-
200 OK → Request thành công
-
201 Created → Tạo mới thành công (thường đi kèm POST)
-
-
4xx (Lỗi phía client):
-
400 Bad Request → Request sai cú pháp
-
401 Unauthorized → Chưa đăng nhập
-
403 Forbidden → Không có quyền truy cập
-
404 Not Found → Không tìm thấy tài nguyên
-
-
5xx (Lỗi server):
-
500 Internal Server Error → Lỗi server (database down, code bug…)
-
Cách Thiết Kế REST API Chuẩn
Quy Tắc Đặt Tên Endpoint
-
Dùng danh từ số nhiều:
✅ /users → Lấy danh sách user
❌ /getAllUsers → Không RESTful -
Phân cấp tài nguyên:
/users/1/orders → Lấy danh sách đơn hàng của user có ID=1 -
Query params để lọc/sắp xếp:
/products?category=tech&sort=price_desc
Request/Response Format
- Request Header chứa metadata (token, content-type…):
-
Response Body thường là JSON:
Xác Thực (Authentication)
-
JWT (JSON Web Token):
-
OAuth 2.0: Dùng khi login bằng Google/Facebook
Các Lưu Ý Khi Làm Việc Với REST API
-
Luôn dùng HTTPS → Bảo mật dữ liệu
-
Validate input → Tránh SQL Injection, XSS
-
Giới hạn request rate → Chống DDoS
-
API versioning → /v1/books, /v2/books
Kết Luận
REST API là nền tảng quan trọng để xây dựng hệ thống phân tán. Hiểu rõ cách thiết kế resource, HTTP methods và status code giúp bạn viết API sạch, dễ bảo trì.