Lỗi
Trong hướng dẫn này, chúng ta sẽ tìm hiểu điều gì xảy ra khi có sự cố trong quá trình bạn làm việc với API. Sai sót là điều khó tránh, và phần lớn sẽ đến từ phía bạn chứ không phải từ chúng tôi. Hãy cùng xem qua một số mã trạng thái và loại lỗi bạn có thể gặp phải.
Bạn có thể biết request có thành công hay không bằng cách kiểm tra mã trạng thái khi nhận phản hồi API. Nếu phản hồi không thành công, bạn có thể dùng thông báo lỗi và mã lỗi để xác định vấn đề và tự gỡ lỗi cơ bản (trước khi liên hệ bộ phận hỗ trợ).
Trước khi liên hệ bộ phận hỗ trợ về một lỗi, xin lưu ý rằng 99% các lỗi được báo cáo thực chất là lỗi phía người dùng. Vì vậy, vui lòng kiểm tra kỹ mã của bạn trước khi liên hệ bộ phận hỗ trợ của Fystack.
Mã trạng thái
Dưới đây là danh sách các nhóm mã trạng thái khác nhau mà Fystack API trả về. Hãy dùng chúng để biết request có thành công hay không.
- Name
- 2xx
- Type
- Description
Mã trạng thái 2xx cho biết phản hồi thành công.
- Name
- 4xx
- Type
- Description
Mã trạng thái 4xx cho biết lỗi phía client, nghĩa là vấn đề nằm ở phía bạn.
- Name
- 5xx
- Type
- Description
Mã trạng thái 5xx cho biết lỗi phía máy chủ, bạn sẽ hầu như không gặp phải.
Định dạng phản hồi lỗi
Bất cứ khi nào một request không thành công, Fystack API sẽ trả về phản hồi lỗi theo định dạng có cấu trúc. Mọi phản hồi lỗi đều có trường success được đặt là false, một message mô tả và một code lỗi. Với lỗi xác thực dữ liệu, bạn cũng sẽ thấy mảng errors chứa thông tin chi tiết về những trường không hợp lệ.
Dưới đây là các thành phần thường gặp của một phản hồi lỗi:
- Name
- success
- Type
- Description
Luôn là
falseđối với phản hồi lỗi.
- Name
- message
- Type
- Description
Mô tả dễ đọc về sự cố đã xảy ra.
- Name
- code
- Type
- Description
Mã lỗi nội bộ giúp hỗ trợ việc gỡ lỗi.
- Name
- errors
- Type
- Description
Với lỗi xác thực dữ liệu, chứa thông tin chi tiết về những trường không hợp lệ và lý do.
Standard error response
{
"success": false,
"message": "Resource not found",
"code": 404
}
Validation error response
{
"success": false,
"message": "validation error",
"code": 400,
"errors": [
{
"field": "email",
"reason": "required"
},
{
"field": "password",
"reason": "min=8"
}
]
}
Mã lỗi
Fystack API sử dụng các mã lỗi cụ thể để giúp xác định chính xác vấn đề đã xảy ra. Các mã này cung cấp thông tin chi tiết hơn so với chỉ dùng mã trạng thái HTTP.
| Mã | Tên | Mô tả |
|---|---|---|
| 2407 | ValidationErrCode | Được trả về khi dữ liệu request không đáp ứng yêu cầu xác thực. |
| 2408 | GenerationErrCode | Cho biết đã xảy ra lỗi trong quá trình tạo nội dung hoặc tài nguyên. |
| 2409 | DatabaseErrCode | Được trả về khi một thao tác cơ sở dữ liệu thất bại. |
| 2410 | ConflictErrCode | Cho biết có xung đột với trạng thái hiện tại của tài nguyên. |
| 2411 | InfraErrCode | Được trả về khi xảy ra lỗi liên quan đến hạ tầng. |
| 2412 | RedisErrCode | Cho biết có sự cố với các thao tác bộ nhớ đệm Redis. |
| 2413 | ForbiddenResourceErrCode | Được trả về khi người dùng không có quyền truy cập tài nguyên được yêu cầu. |
| 2414 | ForbiddenActionErrCode | Cho biết người dùng không được phép thực hiện thao tác được yêu cầu. |
| 2415 | UnauthorizedErrCode | Được trả về khi cần xác thực nhưng thông tin xác thực bị thiếu hoặc không hợp lệ. |
| 2416 | ExecutionErrCode | Cho biết có lỗi trong quá trình thực thi một lệnh hoặc tiến trình. |
| 2417 | NotFoundErrCode | Được trả về khi tài nguyên được yêu cầu không tồn tại. |
| 2418 | EncodingErrCode | Cho biết đã xảy ra lỗi khi mã hóa dữ liệu. |
| 2419 | DecodingErrCode | Được trả về khi có lỗi giải mã dữ liệu. |
| 2420 | InternalResourceNotFound | Cho biết không tìm thấy một tài nguyên nội bộ cần thiết. |
| 2421 | BadRequestErrCode | Được trả về khi request sai định dạng hoặc chứa tham số không hợp lệ. |
| 2422 | InternalErrCode | Cho biết đã xảy ra lỗi máy chủ nội bộ không mong muốn. |
Các mã lỗi này cung cấp thông tin cụ thể về sự cố xảy ra với request của bạn. Khi liên hệ bộ phận hỗ trợ, hãy luôn kèm theo mã lỗi để giúp chúng tôi chẩn đoán vấn đề nhanh hơn.