Bagian berikut menggambarkan model kesalahan untuk v2 dan v1 resource methods, masing-masing.
Model Kesalahan Sumber Daya v2
Secara default, metode sumber daya menjawab dengan status 200 OK. Saat permintaan gagal, Open Cloud menghasilkan kode kesalahan standar. Semua kode kesalahan memiliki format yang sama, yang termasuk:
- code - Represents status HTTP.
- message - Pesan yang menjelaskan kesalahan.
- details - Objek yang berisi lebih banyak informasi spesifik tentang kesalahan.
Contoh Kesalahan
{
"code": "INVALID_ARGUMENT",
"message": "The provided filter is invalid.",
"details": [
{
...
}
]
}
Kode
Tabel berikut menjelaskan nilai yang mungkin untuk code .
Kode | Status HTTP | Deskripsi |
---|---|---|
INVALID_ARGUMENT | 400 | Anda menyebutkan argument yang tidak valid, seperti universeId yang tidak valid. Anda mungkin juga memiliki header yang hilang atau tidak valid, seperti Content-Length dan Content-Type . |
PERMISSION_DENIED | 403 | Permintaan Anda tidak memiliki izin atau scope yang cukup untuk melakukan operasi ini. |
NOT_FOUND | 404 | Sistem tidak dapat menemukan sumber daya yang ditentukan Anda, seperti entri toko data. |
ABORTED | 409 | Operasi itu dihentikan. |
RESOURCE_EXHAUSTED | 429 | Anda tidak memiliki cukup kuota untuk melakukan operasi, biasanya karena mengirim terlalu banyak permintaan. |
CANCELLED | 499 | Sistem mengakhiri permintaan, biasanya karena batas waktu sisi klien. |
INTERNAL | 500 | Kesalahan server internal, biasanya karena bug server. |
NOT_IMPLEMENTED | 501 | Server tidak meng implementasi metode API. |
UNAVAILABLE | 503 | Layanan tidak tersedia, biasanya dikembalikan saat server down. |
v1 Model Kesalahan Sumber Daya
Semua tanggapan kesalahan memiliki format yang sama, standar, yang termasuk:
- Sebuah field error , yang merupakan penyebab tingkat tinggi yang berlaku untuk semua Open Cloud endpoints.
- Kesalahan penjelasan message , yang menjelaskan lebih lanjut tentang kesalahan tersebut.
- Sebuah objek errorDetails , yang menyediakan lebih banyak informasi tentang kesalahan yang spesifik untuk setiap API.
Untuk menganalisis penyebab akar dari kesalahan, mengacu pada nilai dari error field dan errorDetails field. Gunakan message field sebagai tambahan untuk penanganan kesalahan, karena kadang-kadang mungkin tidak mencakup tingkat level rincian yang sama dengan 1> errorDetails1> field.
Contoh Tanggapan Standar DataStores
{
"error": "INVALID_ARGUMENT",
"message": "Invalid cursor.",
"errorDetails": [
{
"errorDetailType": "DatastoreErrorInfo",
"datastoreErrorCode": "InvalidCursor"
}
]
}
Jawaban error contoh menunjukkan tingkat tinggi Open Cloud error sebagai INVALID_
Semua data yang dipesan menyimpan tanggapan kesalahan memiliki format yang sama, yang termasuk:
Contoh Tanggapan Kesalahan Toko DataStores
{
"code": "INVALID_ARGUMENT",
"message": "Invalid cursor."
}
The code akan berisi beberapa string kesalahan tingkat tinggi sementara the message akan berisi rincian spesifik terkait kesalahan
Kode
Lihat tabel berikut untuk menyajikan ringkasan dari semua kesalahan Open Cloud tingkat tinggi.
Kode Status HTTP | Kesalahan | Deskripsi |
---|---|---|
400 | ARGU MENGHILANG | Anda menyebutkan argument yang tidak valid, seperti universeId yang tidak valid. Anda mungkin juga memiliki header yang hilang atau tidak valid, seperti Content-Length dan Content-Type . |
403 | SCOPE_TIDAK_MENUMAS | Permintaan mengharuskan privilegi tinggi daripada yang diberikan oleh token akses. |
403 | PERMISSION_DENIED | Permintaan Anda tidak memiliki cakupan yang cukup untuk melakukan operasi. |
404 | TIDAK_DITEMUKAN | Sistem tidak dapat menemukan sumber daya yang ditentukan Anda, seperti tokodata. |
409 | DIBATAL | Operasi di abortir karena konflik, seperti menyebarkan tempat yang bukan bagian dari alam semesta. |
429 | DAYA_DIMENGKUR | Anda tidak memiliki cukup kuota untuk melakukan operasi, biasanya karena mengirim terlalu banyak permintaan. |
499 | DICABUT | Sistem mengakhiri permintaan, biasanya karena batas waktu sisi klien. |
500 | INTERNAL | Kesalahan server internal. Biasanya bug server. |
501 | TIDAK_DIPERUBAH | Server tidak meng implementasi metode API. |
503 | TIDAK TERSEDIA | Layanan tidak tersedia. Biasanya server sedang down. |