1. REST API là gì?
REST API là một cách thiết kế API giúp các ứng dụng giao tiếp và trao đổi dữ liệu với nhau thông qua Internet.
REST là viết tắt của Representational State Transfer, còn API là Application Programming Interface.
Hiểu đơn giản, REST API đóng vai trò như một cầu nối giữa Client và Server. Client gửi yêu cầu đến Server, Server xử lý yêu cầu rồi trả dữ liệu về cho Client.
REST API thường sử dụng HTTP hoặc HTTPS để truyền dữ liệu.
2. REST API hoạt động như thế nào?
Khi một ứng dụng muốn lấy hoặc thay đổi dữ liệu, Client sẽ gửi một HTTP Request đến một Endpoint của REST API.
Server nhận Request, xử lý dữ liệu và trả về HTTP Response.
Ví dụ một ứng dụng muốn lấy danh sách người dùng:
GET /users
Server nhận yêu cầu và trả về dữ liệu người dùng.
Ví dụ Response:
[
{
"id": 1,
"name": "Nguyen Van A"
}
]
Như vậy, Client không cần truy cập trực tiếp vào Database mà thông qua REST API để lấy dữ liệu.
3. REST API sử dụng HTTP Method
REST API thường kết hợp với các HTTP Method để xác định Client muốn thực hiện hành động gì.
Một số Method phổ biến:
- GET: lấy dữ liệu.
- POST: tạo dữ liệu mới.
- PUT: cập nhật toàn bộ dữ liệu.
- PATCH: cập nhật một phần dữ liệu.
- DELETE: xóa dữ liệu.
Ví dụ:
GET /users là Lấy danh sách người dùng.
GET /users/1 là Lấy thông tin người dùng có ID là 1.
POST /users là Tạo một người dùng mới.
PUT /users/1 là Cập nhật thông tin người dùng có ID là 1.
DELETE /users/1 là Xóa người dùng có ID là 1.
4. Endpoint là gì?
Endpoint là địa chỉ mà Client sử dụng để gửi Request đến REST API nhằm truy cập một tài nguyên hoặc thực hiện một chức năng nào đó.
Ví dụ:
GET /users
Trong đó:
- GET là HTTP Method.
- /users là Endpoint.
- users đại diện cho tài nguyên người dùng.
Một API có thể có nhiều Endpoint khác nhau.
5. REST API trả dữ liệu như thế nào?
REST API thường trả dữ liệu dưới dạng JSON (JavaScript Object Notation) vì JSON có cấu trúc đơn giản và dễ sử dụng giữa các hệ thống khác nhau.
Ví dụ:
{
"id": 1,
"name": "Nguyen Van A",
"email": "[email protected]"
}
Client nhận dữ liệu JSON từ Server rồi sử dụng dữ liệu đó để hiển thị lên giao diện hoặc tiếp tục xử lý.
Ví dụ trong ứng dụng mobile, App có thể gọi REST API để lấy danh sách sản phẩm. API lấy dữ liệu từ Database rồi trả JSON về App để hiển thị danh sách sản phẩm.
6. REST API và Database
REST API thường nằm ở giữa Client và Database.
Luồng xử lý có thể hiểu như sau:
1 Client 2 REST 3 API 4 Server 5 Database
Ví dụ người dùng mở danh sách sản phẩm:
- Client gửi GET /products.
- REST API nhận Request.
- Server xử lý yêu cầu.
- Server truy vấn Database.
- Database trả dữ liệu về Server.
- Server trả Response thông qua REST API.
- Client nhận dữ liệu và hiển thị sản phẩm.
Nhờ cách này, Client không cần biết Database được lưu trữ như thế nào và cũng không truy cập trực tiếp vào Database.
7. Ưu điểm và các khái niệm cần nhớ
REST API được sử dụng rất phổ biến vì cách thiết kế tương đối đơn giản, dễ mở rộng và có thể được sử dụng bởi nhiều loại Client khác nhau như Web, Mobile App, Desktop App hoặc hệ thống khác.
Một đặc điểm quan trọng của REST API là Stateless, nghĩa là mỗi Request nên chứa đầy đủ thông tin cần thiết để Server xử lý. Server không cần phụ thuộc vào trạng thái của Request trước đó.
REST API cũng thường kết hợp với Authentication và Authorization để kiểm soát người dùng. Ví dụ có thể sử dụng Token, JWT hoặc API Key để xác thực Request.
Dễ nhớ:
REST API = Cách để Client giao tiếp với Server thông qua HTTP/HTTPS.
GET = lấy
POST = tạo
PUT/PATCH = cập nhật
DELETE = xóa
Các thuật ngữ liên quan cần nhớ: REST, API, Client, Server, Endpoint, HTTP Method, Request, Response, JSON, Resource, Stateless, Authentication, Authorization, Token, JWT.






Khoá học lập trình game con rắn cho trẻ em




