API ilma tulemuseta ja API veaga vajavad kahte erinevat käsitlust. Õnnestunud otsing ei pruugi tagastada ühtegi kohta vaadeldavas piirkonnas. Võrgutõrge, ületatud piirang või allika kättesaamatus takistab seevastu otsingust järelduse tegemist.
ROOTE puhul kontrollige esmalt HTTP vastust, seejärel äristatut, oodatud kogumit ja katvust. See lähenemine hoiab ära näiteks sõnumi „ükski tualett puudub“, kui teenusekõne ebaõnnestus, või „ükski peatus puudub“, kui on aegumispiirang ületatud.
Loe vastuse kolme taset
| Tase | Kontrollitav | Võimalik järeldus |
|---|---|---|
| Transport | Ühendus, aeg ja HTTP staatus | Kas päring õnnestus? |
| Leping | Kehtiv JSON, versioon ja oodatud väljad | Kas vastus on kasutatav? |
| Äristatus | status, kogud, coverage, hoiatused ja metaandmed | Mida teatakse küsitud piirkonnas? |
HTTP 200 ei pruugi otsingut valideerida. Vastus võib näidata osalist täitmist või error-staatust. Vastupidiselt ei ole 404 tavaline viis tühja kogumi väljendamiseks: kontrollige URLi ja lepingut.
Arusaamine success, empty, partial ja error-staatustest
| Staatus | Soovitatud käitumine |
|---|---|
| success | Kuva üksused pärast valideerimist ja säilita piirangud |
| empty | Teata, et sellele otsingule ei tagastatud ühtegi tulemust |
| partial | Kuva kasutatavad andmed koos vastavate hoiatusedega |
| error | Tõlgenda otsing kättesaamatuks; ärge järeldage kohtade puudumist |
Tulemuse puudumine käib teadaoleva päringu ja allikate kohta. See ei tõenda, et teenused füüsiliselt puuduksid. Mittetäielik katvus, piiratav filter või rakendatud piirang võivad tulemusi vähendada.
Otsustuspuu teie kasutajaliidese jaoks
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.
Kontrollige parameetreid õiges järjekorras
Kontrollige esmalt laiust ja pikkust, nende järjekorda ja tuvastatud linna. Seejärel kontrollige raadiuse ühikut ja filtrite sõnavara. API Services kasutab types=toilets; kaardilingi jaoks on modes=toilets. Need parameetrid kuuluvad erinevate lepingute alla.
Laiendage seejärel ühte mõõdet korraga: suurendage raadiust marsruudi piirides või eemaldage filter selge testi jaoks. Säilitage algse päringu jälg. Kui laiendate automaatselt, teavitage kasutajat uuest piirkonnast.
Ehitage API otsing GPS-koordinaatide ümber
Käsitlege allika puudumist ilma teiste kaotamiseta
Osaline vastus võib sisaldada kohti allikatest, mis andsid vastuse, samal ajal kui mõni teine allikas ebaõnnestus. Säilitage need tulemused, nende atribuudid ja asjakohane hoiatus. Ärge esitletage nimekirja kui täielikku ega asendage puuduvat infot eksitavate vaikeväärtustega.
Vanem vahemälus olev info võib samuti kasulik olla, kui teie poliitika seda lubab. See peab olema märgistatud kui vana. Teie päringu vastuvõtmise aeg ei noorenda algset vaatlusaega.
Kohandage sõnumeid ja taaskäivitusi
| Situatsioon | Sõnum, mida kohandada oma liideses | Tegevus |
|---|---|---|
| empty | Selles piirkonnas nende filtritega ei leitud mitte ühtegi tulemust | Muuda piirkonda või filtreid |
| partial | Mõned tulemused on saadaval; otsing on osaline | Kuva tulemused ja hoiatus |
| Valideerimisviga | Otsing sisaldab sobimatut parameetrit | Paranda päring |
| Autentimine või õigused | See juurdepääs ei võimalda seda otsingut | Kontrolli kontot või tokenit |
| Piirang või kättesaamatus | Otsing on ajutiselt kättesaamatu | Järgige taaskäivituse juhiseid |
429 korral konsulteerige teenuse juhiste ja võimalikuga Retry-After. 400 viga nõuab argumentide parandust; sama päringu kordamine ei lahenda. Ärge teisendage 401 automaatseks anonüümseks kõneks, kui kasutaja on esitanud tokeni.
Testige nelja olekut enne avaldamist
Valmistage ette täielikud, tühjad, osalised ja veateated vastused, samuti kehtetu JSON ja aegumise testid. Kontrollige kuvatavat sõnumit, säilitatud tulemusi ja taaskäivituste arvu. Oluline test on, et rike kunagi ei kinnitaks teenuste puudumist.
Rakendage neid reegleid tehisintellekti assistendile
Mõistke mobiilsuse andmevorminguid
Korduma kippuvad küsimused
Kas tühi nimekiri tõestab tualettide puudumist?
Ei. See näitab ainult, et sellele otsingule ja vaadeldud allikatele ei tagastatud ühtegi tulemust.
Kas osalist vastust võib kuvada?
Jah, kui kasutatavad üksused on kehtivad ja kui hoiatused ning vajalikud piirangud säilivad.
Kas iga viga tuleb uuesti käivitada?
Ei. Parandage parameetrite või juurdepääsu vead; piirake taaskäivitusi üleminekuteks ja järgige teenuse juhiseid.