Penjelasan kode kesalahan apis pengenalan awan
Format respons
Semua respons API menggunakan format JSON yang seragam, berikut adalah contohnya:
{
"statusCode": 422,
"reuslt": "The image or meta exceeds its maximum permitted size",
"timestamp": 1514736000000,
"appKey": "test_app_key"
}
| Bidang | Tipe | Penjelasan |
|---|---|---|
| statusCode | integer | Kode status bisnis, 0 menunjukkan sukses, bukan 0 menunjukkan kesalahan |
| result | string | Konten yang dikembalikan, ketika kode status adalah 0, respons berisi struktur objek gambar target, jika tidak, mengembalikan pesan kesalahan |
| timestamp | long | Stempel waktu server dalam format Unix (dalam milidetik) |
Penting
Hanya dalam kondisi statusCode == 0, result termasuk konten respons. Dalam status lain, result mengembalikan pesan kesalahan.
Klasifikasi kode kesalahan
Penjelasan kode status http
| Kode status HTTP | Penjelasan |
|---|---|
| 200 | Permintaan berhasil (mungkin mengandung kesalahan bisnis) |
| 400 | Kesalahan parameter permintaan |
| 401 | Autentikasi APIKey gagal |
| 403 | Izin tidak cukup atau akses sumber daya dilarang |
| 404 | Jalur URL antarmuka permintaan tidak ada |
| 500 | Kesalahan internal server |
| 501 | Pengecualian aplikasi tertangkap, kemungkinan kesalahan data |
| 502 | Server tidak tersedia, hubungi layanan pelanggan |
Catatan
Kesalahan bisnis biasanya dikembalikan melalui respons HTTP 200, diidentifikasi dalam bidang statusCode sebagai jenis kesalahan spesifik.
Daftar kode status bisnis
| Status Code | Pesan |
|---|---|
| 0 | ok |
| 1 | invalid appId (appKey) |
| 2 | invalid signature |
| 3 | invalid date |
| 4 | appId (appKey) not exist |
| 6 | invalid token |
| 6 | invalid appkey token |
| 7 | non-sdk client for dau databases |
| 8 | Dau databases are not compatible with sense-4.6+ any more. |
| 404 | Target not found |
| 414 | Parameter required not exists or not correct |
| 422 | The image or meta exceeds its maximum permitted size |
| 417 | fail to add image |
| 419 | Cannot update target in database because similar target exists. |
| 420 | Target delete failed |
| 424 | Target enable error |
| 403 | Target already exists |
| 426 | Judge exceeds maxium candidates |
| 427 | Image not correct |
Skenario kesalahan umum
Tidak ada respons karena waktu habis
- Request Timeout: Jaringan agak lambat, disarankan memeriksa lingkungan jaringan klien
Kesalahan terkait autentikasi
- Http 401 Unauthorized: Autentikasi APIKey gagal, periksa apakah appId/appKey benar
- Kode status 401: Kunci aplikasi tidak valid atau aplikasi tidak ada, periksa konfigurasi aplikasi
Kesalahan parameter
- 400 Bad Request: Format parameter permintaan salah
- Kode status 414: Parameter wajib tidak ada atau nilai parameter tidak memenuhi persyaratan
Kesalahan operasi sumber daya
- Kode status 404: Sumber daya target yang dicari tidak ada
- Kode status 403: Target sudah ada, tidak dapat dibuat ulang
- Kode status 417/420/424: Operasi penambahan, penghapusan, atau modifikasi gagal
Kesalahan terkait file
- Kode status 422: Ukuran file yang diunggah melebihi batas
- Kode status 427: Format gambar tidak didukung atau file rusak
Kesalahan sistem
- Http 500 Internal Server Error: Pengecualian internal server, disarankan menguji di situs web atau sampel uji
- Http 501 Exception: Pengecualian aplikasi tertangkap, kemungkinan kesalahan data, disarankan menguji di situs web atau sampel uji
- Http 502 Server: Respons layanan salah, kemungkinan kesalahan server, disarankan menghubungi kami
Saran praktik terbaik
- Penanganan klien: Disarankan menilai apakah bisnis berhasil berdasarkan bidang
statusCode, bukan hanya mengandalkan kode status HTTP - Percobaan ulang kesalahan: Untuk kesalahan 5xx dapat dicoba ulang secara wajar, untuk kesalahan 4xx perlu memeriksa parameter permintaan
- Pencatatan log: Disarankan mencatat respons kesalahan lengkap untuk memudahkan pemecahan masalah
- Penanganan waktu habis: Tetapkan waktu tunggu permintaan yang wajar untuk menghindari penantian lama