Laman Utama/Panduan/Pembangun
Pembangun

Tiada keputusan atau ralat API: bagaimana membuat perbezaan?

Bezakan keputusan kosong, jawapan separa dan ralat API ROOTE. Semak koordinat, penapis, liputan dan had untuk paparkan mesej yang betul.

By ROOTE·7 min bacaan
Tiada keputusan atau ralat API: bagaimana membuat perbezaan?
Jawapan kosong bukan kerosakan.

Intisari dalam beberapa saat

Mulakan dengan pengangkutan HTTP, kemudian sahkan kandungan dan status perniagaan. Carian kosong bukan kerosakan; kerosakan tidak membuktikan ketiadaan perkhidmatan. Jawapan separa boleh digunakan dengan mengekalkan amaran.

API tanpa keputusan dan API dengan ralat memerlukan dua tindakan berbeza. Carian yang berjaya mungkin tidak mengembalikan lokasi dalam skop yang dirujuk. Ralat rangkaian, had tercapai atau sumber tidak tersedia pula menghalang kesimpulan daripada carian.

Untuk ROOTE, periksa jawapan HTTP kemudian status perniagaan, koleksi yang diharapkan dan liputan. Langkah ini mengelakkan paparan "tiada tandas" apabila panggilan Perkhidmatan gagal atau "tiada hentian" selepas masa tamat.

Membaca tiga tahap jawapan

TahapApa yang perlu diperiksaKesimpulan kemungkinan
PengangkutanSambungan, masa dan status HTTPAdakah permintaan berjaya?
KontrakJSON sah, versi dan medan yang dijangkaAdakah jawapan boleh digunakan?
Keputusan perniagaanstatus, koleksi, liputan, amaran dan metaApa yang diketahui dalam skop yang diminta?

Kod HTTP 200 tidak mencukupi untuk mengesahkan carian. Jawapan boleh menunjukkan pelaksanaan separa atau status ralat. Sebaliknya, 404 pada laluan bukan cara biasa untuk menyatakan koleksi kosong: semak URL dan kontrak.

Memahami success, empty, partial dan error

StatusCadangan tindakan
successPaparkan entiti selepas pengesahan dan kekalkan had
emptyNyatakan tiada keputusan untuk carian ini
partialPaparkan maklumat yang boleh digunakan dengan amaran mereka
errorAnggap carian sebagai tidak tersedia; jangan simpulkan tiada lokasi

Ketiadaan keputusan berkaitan permintaan dan sumber diketahui. Ia tidak membuktikan tiada perkhidmatan secara fizikal. Liputan tidak menyeluruh, penapis ketat atau had boleh mengehadkan keputusan.

Pokok keputusan untuk antara muka anda

1. La requête a-t-elle abouti ?
   Non → indisponibilité réseau ou délai dépassé.
2. Le statut HTTP est-il acceptable selon le contrat ?
   Non → traiter le code et le message d'erreur.
3. Le JSON respecte-t-il le schéma attendu ?
   Non → réponse inexploitable, jamais "aucun résultat".
4. Le statut métier est-il error ?
   Oui → recherche indisponible.
5. Le statut est-il partial ou la couverture limitée ?
   Oui → résultats utilisables + avertissement.
6. La collection attendue est-elle vide ?
   Oui → aucun résultat retourné dans ce périmètre.
   Non → afficher les résultats et leurs limites.

Periksa parameter mengikut susunan betul

Periksa dahulu latitud dan longitud, susunan dan bandar diperoleh. Seterusnya pastikan unit jejari dan kosa kata penapis. API Perkhidmatan guna types=toilets; URL peta guna modes=toilets. Parameter ini milik kontrak berbeza.

Luaskan satu dimensi pada satu masa: tambah jejari dalam had laluan atau keluarkan penapis untuk ujian jelas. Simpan rekod permintaan asal. Jika meluaskan automatik, beritahu pengguna skop baru.

Bina carian API berdasarkan koordinat GPS

Urus sumber tidak tersedia tanpa kehilangan yang lain

Jawapan separa mungkin mengandungi lokasi dari sumber yang berjaya tetapi ada yang gagal. Simpan keputusan, atribusi dan amaran berkaitan. Jangan anggap senarai lengkap atau ganti medan hilang dengan nilai palsu.

Maklumat lama dalam cache juga berguna jika polisi anda benarkan. Ia mesti dikenali sebagai lama. Masa terima permintaan anda tidak mengubah umur pemerhatian asal.

Sesuaikan mesej dan susulan

SituasiMesej untuk sesuaikan pada antara muka andaTindakan
emptyTiada keputusan dalam kawasan dengan penapis iniUbah kawasan atau penapis
partialSebahagian keputusan tersedia; carian tidak lengkapPaparkan keputusan dan amaran
Ralat pengesahanCarian mengandungi parameter tidak sahBetulkan permintaan
Pengesahan atau hakAkses ini tidak benarkan carian iniPeriksa akaun atau token
Had atau ketidaktersediaanCarian sementara tidak tersediaPatuh arahan susulan

Untuk 429, rujuk arahan perkhidmatan dan Retry-After jika ada. Ralat 400 perlukan pembetulan argumen; ulang permintaan tidak selesaikan. Jangan tukar 401 jadi panggilan tanpa nama jika pengguna sudah beri token.

Rujukan ralat API ROOTE

Status perkhidmatan ROOTE

Uji empat keadaan sebelum siar

Sediakan jawapan ujian lengkap, kosong, separa, ralat, JSON tidak sah dan tamat masa. Periksa mesej dipaparkan, keputusan disimpan dan jumlah susulan. Ujian penting: kerosakan tidak hasilkan kenyataan tiada perkhidmatan.

Gunakan peraturan ini untuk pembantu AI

Memahami format data mobiliti

Untuk pembangunAPI Mobiliti ROOTE

Mobiliti di sekitar satu titik.
Terus dalam aplikasi anda.

  • Cari
    sekitar satu lokasi
  • Akses
    data mobiliti
  • Integrasi ke
    aplikasi anda

Dari peta ke data: cari mobiliti dan perkhidmatan berdekatan dengan API ROOTE.

Soalan Lazim

Adakah senarai kosong buktikan tiada tandas?

Tidak. Ia hanya menunjukkan tiada keputusan untuk carian ini dan sumber diperiksa.

Bolehkah paparkan jawapan separa?

Ya, jika entiti digunakan sah dan amaran serta had disimpan.

Perlukah ulang setiap ralat?

Tidak. Betulkan ralat parameter atau akses; hadkan susulan untuk kes insiden sementara dan ikut arahan perkhidmatan.

Bagaimana kalau anda lihat sekitar?

Terokai kawasan anda dengan ROOTE dan kenal pasti maklumat tersedia untuk rancang perjalanan.

Terokai peta ROOTE ↗