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ợ).


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ả
2407ValidationErrCodeĐược trả về khi dữ liệu request không đáp ứng yêu cầu xác thực.
2408GenerationErrCodeCho biết đã xảy ra lỗi trong quá trình tạo nội dung hoặc tài nguyên.
2409DatabaseErrCodeĐược trả về khi một thao tác cơ sở dữ liệu thất bại.
2410ConflictErrCodeCho biết có xung đột với trạng thái hiện tại của tài nguyên.
2411InfraErrCodeĐược trả về khi xảy ra lỗi liên quan đến hạ tầng.
2412RedisErrCodeCho biết có sự cố với các thao tác bộ nhớ đệm Redis.
2413ForbiddenResourceErrCodeĐượ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.
2414ForbiddenActionErrCodeCho biết người dùng không được phép thực hiện thao tác được yêu cầu.
2415UnauthorizedErrCodeĐượ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ệ.
2416ExecutionErrCodeCho biết có lỗi trong quá trình thực thi một lệnh hoặc tiến trình.
2417NotFoundErrCodeĐược trả về khi tài nguyên được yêu cầu không tồn tại.
2418EncodingErrCodeCho biết đã xảy ra lỗi khi mã hóa dữ liệu.
2419DecodingErrCodeĐược trả về khi có lỗi giải mã dữ liệu.
2420InternalResourceNotFoundCho biết không tìm thấy một tài nguyên nội bộ cần thiết.
2421BadRequestErrCodeĐược trả về khi request sai định dạng hoặc chứa tham số không hợp lệ.
2422InternalErrCodeCho biết đã xảy ra lỗi máy chủ nội bộ không mong muốn.