Lời mở đầu
Khi viết API, việc sử dụng các status code là vô cùng quan trọng. Status code là một phần của giao thức HTTP, được sử dụng để chỉ ra trạng thái của một yêu cầu HTTP. Chúng giúp cho cả máy khách và máy chủ có thể hiểu được kết quả của một yêu cầu và đưa ra hành động phù hợp.
Nội dung
Có ba loại status code HTTP chính:
- 2xx: Thành công
Các status code thuộc loại 2xx chỉ ra rằng yêu cầu đã được xử lý thành công. Ví dụ:
- 200 OK: Yêu cầu được xử lý thành công và kết quả được trả về.
- 201 Created: Yêu cầu được xử lý thành công và một tài nguyên mới được tạo.
- 204 No Content: Yêu cầu được xử lý thành công nhưng không có kết quả nào được trả về.
- 3xx: Chuyển hướng
Các status code thuộc loại 3xx chỉ ra rằng yêu cầu cần được chuyển hướng sang một URL khác. Ví dụ:
- 301 Moved Permanently: URL của tài nguyên đã thay đổi vĩnh viễn.
- 302 Found: URL của tài nguyên đã thay đổi tạm thời.
- 303 See Other: Yêu cầu nên được gửi đến một URL khác để xử lý.
- 4xx: Lỗi của phía khách
Các status code thuộc loại 4xx chỉ ra rằng lỗi xảy ra do phía khách. Ví dụ:
- 400 Bad Request: Yêu cầu không hợp lệ.
- 401 Unauthorized: Yêu cầu cần xác thực.
- 403 Forbidden: Yêu cầu bị cấm.
- 5xx: Lỗi của phía máy chủ
Các status code thuộc loại 5xx chỉ ra rằng lỗi xảy ra do phía máy chủ. Ví dụ:
- 500 Internal Server Error: Lỗi máy chủ.
- 502 Bad Gateway: Máy chủ trung gian không thể xử lý yêu cầu.
- 503 Service Unavailable: Dịch vụ không khả dụng.
Ví dụ
Dưới đây là một ví dụ về cách sử dụng status code HTTP:
// Yêu cầu lấy danh sách sản phẩm
GET /products
// Response
HTTP/1.1 200 OK
Content-Type: application/json
[
{
"id": 1,
"name": "Sản phẩm 1",
"price": 100000
},
{
"id": 2,
"name": "Sản phẩm 2",
"price": 200000
}
]
Trong ví dụ trên, status code 200 OK chỉ ra rằng yêu cầu đã được xử lý thành công và kết quả được trả về trong định dạng JSON.
Lưu ý
Khi sử dụng status code HTTP, cần lưu ý một số điều sau:
- Sử dụng status code phù hợp với tình trạng của yêu cầu.
- Sử dụng status code một cách nhất quán trong toàn bộ API.
- Trả về các thông báo lỗi rõ ràng và hữu ích.
So sánh với các giải pháp liên quan
Ngoài status code HTTP, có một số giải pháp khác cũng được sử dụng để chỉ ra trạng thái của một yêu cầu. Một số giải pháp phổ biến bao gồm:
- Response body
Response body có thể được sử dụng để trả về thông tin về trạng thái của yêu cầu. Ví dụ, một yêu cầu thất bại có thể trả về một thông báo lỗi trong response body.
- API error codes
API error codes là một tập hợp các mã lỗi được định nghĩa riêng cho API. API error codes có thể được sử dụng để cung cấp thông tin chi tiết hơn về trạng thái của yêu cầu so với status code HTTP.
Kết luận
Status code HTTP là một phần quan trọng của giao thức HTTP. Việc sử dụng các status code một cách chính xác và nhất quán giúp cho cả máy khách và máy chủ có thể hiểu được kết quả của một yêu cầu và đưa ra hành động phù hợp.