Bagian berikut menjelaskan model kesalahan untuk metode sumber daya v2 dan v1, masing-masing.
model kesalahan sumber daya v2
Secara default, metode sumber daya menanggapi dengan status 200 OK.Saat permintaan gagal, Open Cloud mengembalikan kode kesalahan standar.Semua respons kesalahan memiliki format yang sama, yang termasuk:
- code - Mewakili kode status HTTP.
- message - Pesan yang menjelaskan kesalahan.
- details - Sebuah objek yang berisi lebih banyak informasi khusus untuk 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 melewati argumen tidak valid, seperti tidak valid universeId . 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 cakupan yang cukup untuk melakukan operasi. |
NOT_FOUND | 404 | Sistem tidak dapat menemukan sumber daya yang ditentukan, seperti entri penyimpanan data. |
ABORTED | 409 | Operasi dibatalkan. |
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 menerapkan metode API. |
UNAVAILABLE | 503 | Layanan tidak tersedia, biasanya dikembalikan saat server turun. |
model kesalahan sumber daya v1
Semua respons kesalahan memiliki format standar yang sama, yang termasuk:
- Sebuah bidang error , yang merupakan penyebab tingkat tinggi yang berlaku untuk semua akhir Open Cloud.
- Kesalahan penjelas message , yang lebih lanjut menjelaskan kesalahan.
- Sebuah objek errorDetails yang berisi lebih banyak informasi tentang kesalahan yang khusus untuk setiap API.
Untuk menganalisis penyebab akar dari sebuah kesalahan, merujuk pada nilai bidang error dan errorDetails.Gunakan bidang message sebagai tambahan untuk penanganan kesalahan, karena terkadang mungkin tidak mencakup tingkat rincian yang sama dengan bidang errorDetails.
Contoh Respon Kesalahan DataStores Standar
{
"error": "INVALID_ARGUMENT",
"message": "Invalid cursor.",
"errorDetails": [
{
"errorDetailType": "DatastoreErrorInfo",
"datastoreErrorCode": "InvalidCursor"
}
]
}
Tanggapan kesalahan contoh menunjukkan respons tingkat tinggi Open Cloud error sebagai INVALID_ARGUMENT , kesalahan message sebagai InvalidCursor , dan errorDetails khusus untuk penyimpanan data dengan datastoreErrorCode sebagai InvalidCursor .Dari bidang error dan datastoreErrorCode dari respons, Anda dapat memahami bahwa Anda melewati parameter kurator yang tidak valid yang menyebabkan kesalahan.Anda kemudian dapat memperbaiki parameter kurator Anda untuk memecahkan masalah.
Semua respons kesalahan penyimpanan data yang dipesan memiliki format yang sama, yang termasuk:
Contoh Tanggapan Kesalahan DataStores yang Dipesan
{
"code": "INVALID_ARGUMENT",
"message": "Invalid cursor."
}
The code akan berisi string kesalahan tingkat tinggi sementara message akan berisi rincian spesifik terkait dengan kesalahan
Kode
Referensikan tabel berikut untuk ringkasan semua kesalahan Open Cloud tingkat tinggi.
Kode Status HTTP | Kesalahan | Deskripsi |
---|---|---|
400 | ARGUMEN TIDAK BERLAKU | Anda melewati argumen tidak valid, seperti tidak valid universeId . Anda mungkin juga memiliki header yang hilang atau tidak valid, seperti Content-Length dan Content-Type . |
403 | SCOPE_TIDAK_CUKUP | Permintaan memerlukan izin yang lebih tinggi daripada yang disediakan oleh token akses. |
403 | PERIZINAN_DITOLAK | Permintaan Anda tidak memiliki cakupan yang cukup untuk melakukan operasi. |
404 | TIDAK_DIITEMUKAN | Sistem tidak dapat menemukan sumber daya yang ditentukan, seperti tokodata. |
409 | DIHENTIKAN | Operasi dibatalkan karena konflik, seperti mempublikasikan tempat yang bukan bagian dari alam semesta. |
429 | SUMBER DAYA_LELAH | Anda tidak memiliki cukup kuota untuk melakukan operasi, biasanya karena mengirim terlalu banyak permintaan. |
499 | Dibatalkan | Sistem mengakhiri permintaan, biasanya karena batas waktu sisi klien. |
500 | INTERNAL | Kesalahan server internal. Biasanya bug server. |
501 | TIDAK_DIBERIKAN | Server tidak menerapkan metode API. |
503 | TIDAK TERSEDIA | Layanan tidak tersedia. Biasanya server sedang turun. |