Αρχική/Οδηγοί/Προγραμματιστές
Προγραμματιστές

Κανένα αποτέλεσμα ή σφάλμα API: πώς να κάνετε τη διάκριση;

Διαχωρίστε το κενό αποτέλεσμα, μερική απάντηση και σφάλμα API του ROOTE. Ελέγξτε συντεταγμένες, φίλτρα, κάλυψη και όρια για να εμφανίσετε το σωστό μήνυμα.

By ROOTE·7 λεπτά ανάγνωσης
Κανένα αποτέλεσμα ή σφάλμα API: πώς να κάνετε τη διάκριση;
Μια κενή απάντηση δεν είναι βλάβη.

Τα βασικά σε λίγα δευτερόλεπτα

Ξεκινήστε από το HTTP μεταφοράς, στη συνέχεια επικυρώστε το περιεχόμενο και την επιχειρηματική κατάσταση. Μια κενή αναζήτηση δεν είναι βλάβη· μια βλάβη δεν αποδεικνύει την απουσία υπηρεσιών. Μια μερική απάντηση μπορεί να χρησιμοποιηθεί διατηρώντας τις προειδοποιήσεις της.

Ένα API χωρίς αποτέλεσμα και ένα API με σφάλμα απαιτούν δύο διαφορετικές επεξεργασίες. Μια επιτυχημένη αναζήτηση μπορεί να μην επιστρέψει κανένα μέρος εντός του ζητούμενου περιορισμένου χώρου. Αντίθετα, ένα σφάλμα δικτύου, η υπέρβαση ορίου ή μια μη διαθέσιμη πηγή εμποδίζει να βγάλουμε συμπέρασμα από την αναζήτηση.

Για το ROOTE, ελέγξτε πρώτα την HTTP απάντηση, μετά την επιχειρηματική κατάσταση, τη συλλογή που αναμένεται και την κάλυψη. Αυτή η διαδικασία αποφεύγει την εμφάνιση «κανένα τουαλέτα» όταν μια κλήση Υπηρεσιών απέτυχε ή «κανένα στάση» μετά από υπέρβαση χρόνου αναμονής.

Ανάγνωση των τριών επιπέδων μιας απόκρισης

ΕπίπεδοΠρος έλεγχοΠιθανό συμπέρασμα
ΜεταφοράΣύνδεση, χρόνος αναμονής και HTTP κατάστασηΟ αιτούμενος ολοκληρώθηκε επιτυχώς;
ΣύμβασηΈγκυρο JSON, έκδοση και αναμενόμενα πεδίαΕίναι η απάντηση αξιοποιήσιμη;
Επιχειρηματικό αποτέλεσμαstatus, collections, coverage, warnings και metaΤι γνωρίζουμε εντός του ζητούμενου πεδίου;

Ο κωδικός HTTP 200 δεν αρκεί για να επικυρώσει μια αναζήτηση. Η απάντηση μπορεί να σηματοδοτεί μερική εκτέλεση ή κατάσταση error. Αντίθετα, ένα 404 σε ένα route δεν είναι ο κανόνας για να δηλώσει μια κενή συλλογή: ελέγξτε το URL και τη σύμβαση.

Κατανόηση των success, empty, partial και error

ΚατάστασηΠροτεινόμενη επεξεργασία
successΕμφανίστε τις οντότητες μετά από επικύρωση και διατηρήστε τα όρια
emptyΠληροφορήστε ότι δεν επιστράφηκε κανένα αποτέλεσμα για αυτή την αναζήτηση
partialΕμφανίστε τις χρησιμοποιήσιμες πληροφορίες με τις προειδοποιήσεις τους
errorΠαρουσιάστε την αναζήτηση ως μη διαθέσιμη· μην καταλήγετε σε απουσία τόπων

Η απουσία αποτελέσματος αφορά ένα αίτημα και γνωστές πηγές. Δεν αποδεικνύει ότι φυσικά δεν υπάρχουν υπηρεσίες. Μη εξαντλητική κάλυψη, αυστηρό φίλτρο ή επιβεβλημένο όριο μπορεί να περιορίσουν τα αποτελέσματα.

Ένα δέντρο αποφάσεων για το περιβάλλον χρήστη σας

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.

Ελέγξτε τις παραμέτρους με τη σωστή σειρά

Ελέγξτε πρώτα το γεωγραφικό πλάτος και μήκος, τη σειρά τους και την προκύπτουσα πόλη. Στη συνέχεια ελέγξτε τη μονάδα ακτίνας και το λεξιλόγιο των φίλτρων. Το API Υπηρεσιών χρησιμοποιεί types=toilets· ένα URL χάρτη χρησιμοποιεί modes=toilets. Αυτές οι παράμετροι ανήκουν σε διαφορετικές συμβάσεις.

Επεκτείνετε μετά μόνο μια διάσταση τη φορά: αυξήστε την ακτίνα εντός των ορίων της διαδρομής ή αφαιρέστε ένα φίλτρο για σαφή δοκιμή. Κρατήστε ιστορικό του αρχικού αιτήματος. Αν επεκτείνετε αυτόματα, ενημερώστε το χρήστη για το νέο πεδίο.

Κατασκευή αναζήτησης API γύρω από GPS συντεταγμένες

Επεξεργασία μη διαθέσιμης πηγής χωρίς να χάσετε τις άλλες

Μια μερική απάντηση μπορεί να περιέχει τόπους από πηγές που ανταποκρίθηκαν ενώ άλλη απέτυχε. Διατηρήστε αυτά τα αποτελέσματα, τις αναθέσεις τους και την σχετική προειδοποίηση. Μην παρουσιάζετε την λίστα ως εξαντλητική και μην αντικαθιστάτε ελλείποντα πεδία με παραπλανητικές προεπιλεγμένες τιμές.

Πληροφορία από μνήμη cache, παλιά, μπορεί επίσης να είναι χρήσιμη αν η πολιτική σας επιτρέπει επέκταση. Πρέπει να παραμένει επισημασμένη ως παλιά. Η ώρα λήψης του αιτήματος δεν ανανεώνει την αρχική παρατήρηση.

Προσαρμόστε τα μηνύματα και τις ανακτήσεις

ΚατάστασηΜήνυμα προς προσαρμογή στο περιβάλλον σαςΕνέργεια
emptyΔεν επιστράφηκε κανένα αποτέλεσμα σε αυτή την περιοχή με αυτά τα φίλτραΑλλάξτε την περιοχή ή τα φίλτρα
partialΟρισμένα αποτελέσματα είναι διαθέσιμα· η αναζήτηση είναι ελλιπήςΕμφανίστε τα αποτελέσματα και την προειδοποίηση
Σφάλμα επικύρωσηςΗ αναζήτηση περιέχει μη έγκυρη παράμετροΔιορθώστε το αίτημα
Πιστοποίηση ή δικαιώματαΑυτή η πρόσβαση δεν επιτρέπει αυτή την αναζήτησηΕλέγξτε τον λογαριασμό ή το token
Όριο ή μη διαθεσιμότηταΗ αναζήτηση είναι προσωρινά μη διαθέσιμηΤηρήστε τις οδηγίες επανάληψης

Για 429, συμβουλευτείτε τις οδηγίες της υπηρεσίας και ενδεχόμενο Retry-After. Σφάλμα 400 απαιτεί διόρθωση παραμέτρων· η επανάληψη της ίδιας αναζήτησης δεν το διορθώνει. Μην μετατρέπετε αυτόματα ένα 401 σε ανώνυμη κλήση εάν ο χρήστης παρείχε token.

Αναφορά σφαλμάτων API ROOTE

Κατάσταση υπηρεσιών ROOTE

Δοκιμάστε τις τέσσερις καταστάσεις πριν την δημοσίευση

Προετοιμάστε πλήρεις, κενές, μερικές και σφάλματος απαντήσεις δοκιμής, καθώς και μη έγκυρο JSON και υπέρβαση χρόνου. Ελέγξτε το εμφανιζόμενο μήνυμα, τα διατηρημένα αποτελέσματα και τις επαναλήψεις. Το βασικό τεστ είναι να μην παράγει ποτέ μια βλάβη δήλωση απουσίας υπηρεσιών.

Εφαρμόστε αυτούς τους κανόνες σε έναν βοηθό τεχνητής νοημοσύνης

Κατανόηση δομών δεδομένων κινητικότητας

Για προγραμματιστέςROOTE Mobility API

Κινητικότητα γύρω από ένα σημείο.
Άμεσα στην εφαρμογή σας.

  • Αναζήτηση
    γύρω από μια θέση
  • Πρόσβαση σε
    δεδομένα κινητικότητας
  • Ενσωμάτωση σε
    την εφαρμογή σας

Μεταβείτε από τον χάρτη στα δεδομένα: αναζητήστε κινητικότητα και υπηρεσίες κοντά σας με το ROOTE API.

Συχνές ερωτήσεις

Αποδεικνύει μια κενή λίστα την απουσία τουαλετών;

Όχι. Απλώς υποδεικνύει ότι δεν επιστράφηκε κανένα αποτέλεσμα για αυτή την αναζήτηση και τις πηγές που ελέγχθηκαν.

Μπορούμε να εμφανίσουμε μια μερική απάντηση;

Ναι, αν οι οντότητες που χρησιμοποιούνται είναι έγκυρες και διατηρείτε τις σχετικές προειδοποιήσεις και όρια.

Πρέπει να επανεκκινάμε κάθε σφάλμα;

Όχι. Διορθώστε σφάλματα παραμέτρων ή πρόσβασης· περιορίστε τις επαναλήψεις για προσωρινά προβλήματα και τηρήστε τις οδηγίες της υπηρεσίας.

Τι θα λέγατε να κοιτάξετε γύρω σας;

Εξερευνήστε τη γειτονιά σας με το ROOTE και βρείτε τις διαθέσιμες πληροφορίες για να οργανώσετε τη μετακίνησή σας.

Εξερευνήστε τον χάρτη ROOTE ↗