# Nincs eredmény vagy API hiba: hogyan különböztessük meg?

> Különböztesse meg az üres eredményt, részleges választ és API hibát a ROOTE-nál. Ellenőrizze a koordinátákat, szűrőket, lefedettséget és korlátokat a megfelelő üzenet megjelenítéséhez.

Source: https://www.roote.ai/hu/guides/nincs-eredmeny-vagy-api-hiba-hogyan-kulonboztessuk-meg/
Language: hu
Author: ROOTE

Az API eredmény nélküli és hibás működése két külön kezelést igényel. Egy sikeres keresés nem biztos, hogy helyeket ad vissza a lekérdezett területen. Hálózati hiba, elért korlát vagy elérhetetlen forrás viszont megakadályozza a keresésből való következtetést.

A ROOTE-nál először a HTTP választ, majd az üzleti státuszt, a várt kollekciót és a lefedettséget ellenőrizze. Ez megakadályozza, hogy „nincs vécé” üzenet jelenjen meg egy sikertelen Services hívás után vagy „nincs megálló” egy időtúllépés esetén.

## A válasz három szintjének olvasása

| Szint | Ellenőrizendő | Lehetséges következtetés |
| --- | --- | --- |
| Transzport | Kapcsolat, időkorlát és HTTP státusz | A kérés sikeresen befejeződött? |
| Szerződés | Érvényes JSON, verzió és várt mezők | A válasz feldolgozható? |
| Üzleti eredmény | státusz, kollekciók, lefedettség, figyelmeztetések és metaadatok | Mit tudunk a kért környezetben? |

Egy HTTP 200 nem elég egy keresés érvényesítéséhez. A válasz jelezhet részleges futtatást vagy error státuszt. Fordítva, egy útvonal 404 nem a kollekció hiányának normális jele: ellenőrizze az URL-t és a szerződést.

## A success, empty, partial és error megértése

| Státusz | Ajánlott kezelés |
| --- | --- |
| success | Jelenítse meg az entitásokat az ellenőrzés után, és tartsa meg a korlátokat |
| empty | Jelezze, hogy nem érkezett eredmény erre a keresésre |
| partial | Jelenítse meg a felhasználható információkat a figyelmeztetésekkel együtt |
| error | Jelentse a keresést elérhetetlennek; ne vonjon le következtetést a helyek hiányáról |

Az eredmény hiánya egy lekérésre és ismert forrásokra vonatkozik. Ez nem bizonyítja, hogy nincs fizikai szolgáltatás. A nem teljes lefedettség, korlátozó szűrő vagy alkalmazott korlát csökkentheti az eredményeket.

## Egy döntési fa az Ön felületéhez

```
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.
```

## Azonosítsa a paramétereket helyes sorrendben

Először ellenőrizze a szélességi és hosszúsági fokot, azok sorrendjét és a kapott várost. Ezután ellenőrizze a sugarat egységét és a szűrők szókincsét. A Services API típusai=toilets; egy térképes URL módok=toilets. Ezek a paraméterek külön szerződésekhez tartoznak.

Ezután csak egy dimenziót tágítson egyszerre: növelje a sugár méretét az út korlátain belül, vagy vegyen el egy szűrőt egy explicit teszthez. Tartsa meg az eredeti lekérés nyomát. Ha automatikusan tágít, jelezze az új körzetet a felhasználónak.

[API keresés felépítése GPS koordináták alapján](https://www.roote.ai/hu/guides/hogyan-keressunk-kozelben-levo-jaratokat-api-val/)

## Egérőforrás elérhetetlenségének kezelése a többi megtartásával

A részleges válasz helyeket tartalmazhat olyan forrásokból, amelyek válaszoltak, míg mások hibát jeleztek. Tartsa meg ezeket az eredményeket, azok attribúcióit és a vonatkozó figyelmeztetéseket. Ne tüntesse fel a listát teljesként és ne helyettesítsen hiányzó mezőket megtévesztő alapértelmezett értékekkel.

Egy régebbi, cache-ben tárolt adat is hasznos lehet, ha az Ön politikája ezt megengedi. Ezt meg kell jelölni régi adatként. A kérelmének érkezési ideje nem fiatalítja meg az eredeti megfigyelést.

## Üzenetek és újrapróbálások igazítása

| Helyzet | Az Ön felületére igazítandó üzenet | Intézkedés |
| --- | --- | --- |
| empty | Ebben a területen és ezekkel a szűrőkkel nem érkezett eredmény | Módosítsa a területet vagy a szűrőket |
| partial | Néhány eredmény elérhető; a keresés hiányos | Jelenítse meg az eredményeket és a figyelmeztetést |
| Érvényesítési hiba | A keresés érvénytelen paraméterrel rendelkezik | Javítsa a lekérést |
| Hitelesítés vagy jogosultságok | Ez a hozzáférés nem engedélyezi ezt a keresést | Ellenőrizze a fiókot vagy a tokent |
| Korlát vagy elérhetetlenség | A keresés ideiglenesen nem elérhető | Kövesse az újrapróbálásra vonatkozó utasításokat |

429 esetén tanulmányozza a szolgáltatás utasításait és az esetleges Retry-After-t. Egy 400-as hiba az érvek javítását kéri; ugyanaz a kérés ismétlése nem oldja meg. Ne alakítson át egy 401-et automatikus anonim hívássá, ha a felhasználó adott token-t.

[ROOTE API hibakódok referencia](https://doc.roote.ai/roote-api/errors)

[ROOTE szolgáltatások állapota](https://status.roote.ai/)

## Tesztelje a négy állapotot közzététel előtt

Készítsen teljes, üres, részleges és hibás tesztválaszokat, valamint érvénytelen JSON-t és időtúllépést. Ellenőrizze a megjelenített üzenetet, megőrzött eredményeket és az újrapróbálatok számát. A legfontosabb teszt, hogy egy hiba soha ne állítsa, hogy nincs szolgáltatás.

[Alkalmazza ezeket a szabályokat egy mesterséges intelligencia asszisztensre](https://www.roote.ai/hu/guides/mobilitasi-asszisztens-csinalasa-cim-kozeli-lehetosegekhez/)

[Ismerje meg a mobilitási adatformátumokat](https://www.roote.ai/hu/guides/gtfs-gtfs-rt-es-gbfs-miben-kulonboznek/)

## Gyakori kérdések

### Bizonyítja-e egy üres lista a vécék hiányát?

Nem. Csak annyit jelez, hogy ez a keresés és a lekérdezett források nem adtak eredményt.

### Megjeleníthető-e részleges válasz?

Igen, ha az entitások érvényesek és megtartja a szükséges figyelmeztetéseket és korlátokat.

### Minden hibát újra kell-e indítani?

Nem. Javítsa a paraméter- vagy hozzáférési hibákat; korlátozza az újrapróbálásokat ideiglenes hibák esetén, és tartsa be a szolgáltatás utasításait.
