REST API – Cách thiết kế và xây dựng API theo REST
khi chúng ta xậy dựng một website để mà frontend có thể giao tiếp được với backend đó chính là API.
Ví dụ:
Frontend
↓
GET /users // đây là API
↓
Backend
↓
Database
Frontend có thể gửi request để lấy danh sách user, tạo user mới, cập nhật user hoặc xóa user.
Một trong những cách phổ biến nhất để xây dựng các API giao tiếp như vậy là REST API.
REST API không phải là một framework hay một thư viện. Nó là cách thiết kế API dựa trên các nguyên tắc của REST và tận dụng HTTP để client và server giao tiếp với nhau.
1. REST là gì?
REST là viết tắt của Representational State Transfer
REST dựa nhiều vào những đặc điểm vốn có của HTTP như:
- URL
- HTTP Methods
- HTTP Status Codes
- HTTP Headers
- HTTP Request / Response
Ví dụ:
GET /users/123
Có thể hiểu đơn giản:
Client muốn lấy resource
usercó ID là123.
2. REST API là gì?
REST API là API được thiết kế theo các nguyên tắc của REST.
Ví dụ một hệ thống quản lý user:
GET /users
GET /users/123
POST /users
PUT /users/123
PATCH /users/123
DELETE /users/123
Các endpoint trên đại diện cho resource users. HTTP Method cho biết client muốn thực hiện hành động gì.
một điểm cần lưu ý: REST không phải chỉ việc dùng GET, POST, PUT, DELETE là có thể gọi là RESTful API được. REST còn liên quan đến cách chúng ta mô hình hóa resource, URL, trạng thái, statelessness, HTTP semantics và cách client/server tương tác.
3. Resource – Khái niệm quan trọng nhất trong REST
REST thường tư duy theo resource thay vì tư duy theo action.
Ví dụ hệ thống có:
User
Product
Order
Category
Comment
Đây có thể được xem là các resource.
Ví dụ:
/users
/products
/orders
/categories
/comments
Thay vì thiết kế API theo kiểu:
/getUsers
/createUser
/updateUser
/deleteUser
REST thường sử dụng:
GET /users
POST /users
PUT /users/123
DELETE /users/123
Ở đây:
/users
là resource.
Còn:
GET
POST
PUT
DELETE
cho biết client muốn làm gì với resource đó.
4. HTTP Methods trong REST API
REST API tận dụng HTTP Methods để thể hiện ý định của requestGET
GET
Dùng để lấy dữ liệu.
GET /users
Lấy danh sách user.
GET /users/123
Lấy user có ID 123.
GET thường không dùng để thay đổi dữ liệu trên server.
5. CRUD và REST API
REST API thường được dùng để thực hiện CRUD.
CRUD gồm:
Create
Read
Update
Delete
các CURD sẽ tương ứng với các REST API:
Create --> POST
Read all --> GET
Read One --> GET ( tương ứng lấy cái gì đó cụ thể)
Update --> PUSH/PATCH ( cập nhật toàn bộ hoặc một phần của resource)
delete --> DELETE ( xóa một resource nào đó)
6. Response trong REST API
Server trả về HTTP response.
Response thường gồm:
Response
├── Status Code
├── Headers
└── Body
Status code: là trạng thái trả về ( ví dụ 200 là thành công)
Headers:là id của respone
Body: phần nội dung trả về
Ví dụ:
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": 123,
"name": "An",
"email": "[email protected]"
}
7. Tóm lại
REST API là một cách thiết kế API dựa trên architectural style REST và sử dụng các đặc tính của HTTP để client và server giao tiếp với nhau.








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




