Các mục tiếp theo mô tả mô hình lỗi cho v2 và v1 các phương pháp tài nguyên, tương tự.
mô hình lỗi tài nguyên v2
Theo mặc định, các phương tiện tài nguyên phản hồi với một trạng thái 200 OK. Khi yêu cầu thất bại, Open Cloud trả lại các mã lỗi trạng thái. Tất cả các mã lỗi đều có cùng hình dạng, bao gồm:
- code - Đại diện mã status HTTP.
- message - Một thông điệp giải thích lỗi.
- details - Một đối tượng chứa nhiều thông tin cụ thể hơn cho lỗi.
Ví dụ lỗi
{
"code": "INVALID_ARGUMENT",
"message": "The provided filter is invalid.",
"details": [
{
...
}
]
}
Mã
Bảng sau đây mô tả các giá trị có thể cho code .
Mã | Tình trạng HTTP | Mô tả |
---|---|---|
INVALID_ARGUMENT | 400 | Bạn đã điền một động mạnh không hợp lệ, chẳng hạn như một động mạnh không hợp lệ universeId . Bạn cũng có thể có các đầu mối bị thiếu hoặc không hợp lệ, chẳng hạn như một đầu mối Content-Length và một đầu mối Content-Type . |
PERMISSION_DENIED | 403 | Yêu cầu của bạn không có quyền truy cập hoặc phạm vi đủ để thực hiện hoạt động này. |
NOT_FOUND | 404 lỗi | Hệ thống không thể tìm thấy nguồn lựu trữ của bạn, chẳng hạn như một mục trong cửa hàng dữ liệu. |
ABORTED | 409 | Hoạt động đã bị huỷ. |
RESOURCE_EXHAUSTED | 429 | Bạn không có đủ quyền truy cập để thực hiện hoạt động này, thường là do gửi quá nhiều yêu cầu. |
CANCELLED | 499 | Hệ thống kết thúc yêu cầu, thường là do thời gian chờ người dùng. |
INTERNAL | 500 | Lỗi máy chủ nội bộ, thường do một số lỗi trên máy chủ. |
NOT_IMPLEMENTED | 501 | Server không thực hiện phương thức API. |
UNAVAILABLE | 503 | Dịch vụ không khả dụng, thường được trả lại khi máy chủ bị tắt. |
Mô hình lỗi tài nguyên v1
Tất cả các kết quả lỗi đều có cùng một trình tạo dạng, bao gồm:
- Một trường error , which is a high-level cause that is applicable to tất cả các điểm kết nối Open Cloud.
- Một lỗi giải thích message , giải thích thêm lỗi.
- Một errorDetails đối tượng, bao gồm nhiều thông tin hơn về lỗi mà là đặc biệt cho mỗi API.
Để phân tích nguyên nhân gây ra một lỗi, hãy xem giá trị của trường error và trường errorDetails. Sử dụng trường message như một yếu tố bổ sung cho quản lý lỗi, vì đôi khi nó có thể không bao gồm cùng m
Mẫu trả lời lỗi dữ liệu
{
"error": "INVALID_ARGUMENT",
"message": "Invalid cursor.",
"errorDetails": [
{
"errorDetailType": "DatastoreErrorInfo",
"datastoreErrorCode": "InvalidCursor"
}
]
}
Lỗi trả lời ví dụ cho thấy cấp độ cao Open Cloud error nh
Tất cả các lỗi trả lời dữ liệu đã được lỗi đều có cùng một hình dạng bao gồm:
Cảnh báo lỗi dữ liệu DataStores đã được yêu cầu
{
"code": "INVALID_ARGUMENT",
"message": "Invalid cursor."
}
Các code sẽ chứa một chuỗi lỗi cấp cao trong khi các message sẽ chứa các chi tiết cụ thể liên quan đến lỗi
Mã
Tham khảo bảng sau để tổng kết tất cả các lỗi Open Cloud cấp cao.
Mã tình trạng HTTP | Lỗi | Mô tả |
---|---|---|
400 | INVALID_ARGUMENT | Bạn đã điền một động mạnh không hợp lệ, chẳng hạn như một động mạnh không hợp lệ universeId . Bạn cũng có thể có các đầu mối bị thiếu hoặc không hợp lệ, chẳng hạn như một đầu mối Content-Length và một đầu mối Content-Type . |
403 | INSUFFICIENT_SCOPE | Yêu cầu cần quyền truy cập cao hơn những gì được cung cấp bởi thẻ truy cập. |
403 | PERMISSION_BỊ TỪ CHỐI | Yêu cầu của bạn không có đủ phạm vi để thực hiện hoạt động. |
404 lỗi | KHÔNG_TÌM_THẤY | Hệ thống không thể tìm thấy nguồn lựu trữ của bạn, chẳng hạn như một cửa hàng dữ liệu. |
409 | ĐÃ BỊ HỦY | Hoạt động đã bị huỷ do một xung đột, chẳng hạn như việc xuất bản một nơi không phản ánh trong vũ trụ. |
429 | RESOURCE_EXHAUSTED | Bạn không có đủ quyền truy cập để thực hiện hoạt động này, thường là do gửi quá nhiều yêu cầu. |
499 | ĐÃ HUYỆT | Hệ thống kết thúc yêu cầu, thường là do thời gian chờ người dùng. |
500 | NỘI BỘ | Lỗi máy chủ nội bộ. Thường là một lỗi của máy chủ. |
501 | KHÔNG_ĐƯỢC_THỰC_HIỆN | Server không thực hiện phương thức API. |
503 | KHÔNG SẴN SÀNG | Dịch vụ không có sẵn. Thông thường, máy chủ đang tắt. |