Home/Guide/Sviluppatori
Sviluppatori

Nessun risultato o errore API: come fare la differenza?

Differenzia risultato vuoto, risposta parziale ed errore API ROOTE. Controlla coordinate, filtri, copertura e limiti per mostrare il messaggio corretto.

By ROOTE·7 min di lettura
Nessun risultato o errore API: come fare la differenza?
Una risposta vuota non è un guasto.

L’essenziale in pochi secondi

Inizia dal trasporto HTTP, poi valida contenuto e stato business. Una ricerca vuota non è un guasto; un guasto non prova assenza di servizi. Una risposta parziale può essere usata mantenendo gli avvisi.

Un'API senza risultati e un'API in errore richiedono due trattamenti diversi. Una ricerca riuscita può non restituire alcun luogo nell'area consultata. Un errore di rete, un limite raggiunto o una fonte non disponibile impediscono invece di trarre conclusioni dalla ricerca.

Per ROOTE, controlla la risposta HTTP poi lo stato business, la collezione attesa e la copertura. Questo evita di mostrare «nessun bagno» quando una chiamata ai Servizi è fallita o «nessuna fermata» dopo un timeout.

Leggere i tre livelli di una risposta

LivelloDa controllareConclusione possibile
TrasportoConnessione, timeout e stato HTTPLa richiesta è andata a buon fine?
ContrattoJSON valido, versione e campi attesiLa risposta è sfruttabile?
Risultato businessstatus, collezioni, copertura, avvisi e metaCosa si sa nell'area richiesta?

Un codice HTTP 200 non basta a convalidare una ricerca. La risposta può indicare esecuzione parziale o stato error. Viceversa, un 404 su una rotta non è modo normale di esprimere una collezione vuota: verifica l’URL e il contratto.

Comprendere success, empty, partial ed error

StatoTrattamento consigliato
successMostrare le entità dopo validazione e mantenere i limiti
emptyIndicare che non è stato restituito alcun risultato per questa ricerca
partialMostrare le informazioni utilizzabili con i loro avvisi
errorPresentare la ricerca come non disponibile; non concludere assenza di luoghi

L’assenza di risultati riguarda una richiesta e fonti note. Non prova che nessun servizio esista fisicamente. Copertura non esaustiva, filtro restrittivo o limite applicato possono ridurre i risultati.

Un albero decisionale per la tua interfaccia

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.

Verificare i parametri nel giusto ordine

Controlla prima latitudine e longitudine, il loro ordine e la città ottenuta. Poi verifica l’unità di raggio e il vocabolario dei filtri. L’API Servizi usa types=toilets; un URL di mappa usa modes=toilets. Questi parametri appartengono a contratti diversi.

Estendi poi una sola dimensione alla volta: aumenta il raggio entro limiti della rotta o rimuovi un filtro per un test esplicito. Tieni traccia della richiesta iniziale. Se allarghi automaticamente, informa l’utente del nuovo perimetro.

Costruire una ricerca API attorno a coordinate GPS

Gestire una fonte non disponibile senza perdere le altre

Una risposta parziale può contenere luoghi da fonti che hanno risposto mentre un’altra è fallita. Conserva questi risultati, le loro attribuzioni e l’avviso pertinente. Non presentare la lista come esaustiva e non sostituire campi mancanti con valori default fuorvianti.

Una informazione vecchia memorizzata in cache può essere utile se la tua politica lo permette. Deve però restare identificata come datata. L’ora della tua richiesta non rinfresca l’osservazione originale.

Adattare i messaggi e le azioni di ripresa

SituazioneMessaggio da adattare alla tua interfacciaAzione
emptyNessun risultato restituito in questa zona con questi filtriModifica la zona o i filtri
partialAlcuni risultati sono disponibili; la ricerca è incompletaMostra risultati e avviso
Errore di validazioneLa ricerca contiene un parametro non validoCorreggi la richiesta
Autenticazione o dirittiQuesto accesso non permette questa ricercaVerifica l’account o il token
Limite o indisponibilitàLa ricerca è temporaneamente non disponibileRispetta le indicazioni di ripresa

Per un 429, consulta le indicazioni del servizio e l’eventuale Retry-After. Un errore 400 richiede correzione degli argomenti; ripetere la stessa richiesta non risolve. Non trasformare un 401 in chiamata anonima automatica se l’utente ha fornito un token.

Riferimento errori API ROOTE

Stato dei servizi ROOTE

Testare i quattro stati prima di pubblicare

Prepara risposte di test complete, vuote, parziali e in errore, un JSON invalido e timeout. Verifica messaggi mostrati, risultati mantenuti e numero di riprese. Il test essenziale è che un guasto non produca mai l’affermazione di assenza di servizi.

Applicare queste regole a un assistente IA

Comprendere i formati dati della mobilità

Per gli sviluppatoriROOTE Mobility API

La mobilità intorno a un punto.
Direttamente nella tua applicazione.

  • Cerca
    intorno a una posizione
  • Accedi ai
    dati di mobilità
  • Integra in
    la tua app

Passa dalla mappa ai dati: cerca mobilità e servizi nelle vicinanze con l’API ROOTE.

Domande frequenti

Una lista vuota prova l’assenza di bagni?

No. Indica solo che non è stato restituito alcun risultato per questa ricerca e le fonti consultate.

Si può mostrare una risposta parziale?

Sì, se le entità usate sono valide e se conservi gli avvisi e i limiti necessari.

Bisogna rilanciare ogni errore?

No. Correggi errori di parametri o accesso; limita i tentativi per incidenti transitori e rispetta le indicazioni del servizio.

E se guardassi intorno a te?

Esplora il tuo quartiere con ROOTE e individua le informazioni disponibili per preparare il tuo spostamento.

Esplora la mappa ROOTE ↗