# Hakuna matokeo au kosa la API: jinsi ya kujitofautisha?

> Tambua matokeo tupu, majibu ya sehemu, na makosa ya API ROOTE. Hakiki kuratibu, vichujio, ueneaji na mipaka kupata ujumbe sahihi.

Source: https://www.roote.ai/sw/guides/hakuna-matokeo-au-kosa-la-api-jinsi-ya-kujitofautisha/
Language: sw
Author: ROOTE

API isiyo na matokeo na API yenye kosa zinahitaji matibabu tofauti. Utafutaji uliofanikiwa unaweza usirejeshe mahali popote katika eneo lililotafutwa. Kosa la mtandao, kikomo kilichozidi au chanzo kisichopatikana vinazuia hitimisho kutoka kwenye utafutaji.

Kwa ROOTE, angalia jibu la HTTP kisha hali ya biashara, mkusanyiko unaotarajiwa na ueneaji. Njia hii huzuia kuonyesha 'hakuna choo' wakati mwito wa Huduma umefaulu au 'hakuna kituo' baada ya kusubiri muda uliopita.

## Soma viwango vitatu vya jibu

| Kiwango | Kikaguliwe | Hitimisho linalowezekana |
| --- | --- | --- |
| Usafirishaji | Muunganisho, muda wa kusubiri na hali ya HTTP | Je, ombi limefanikiwa? |
| Mkataba | JSON halali, toleo na sehemu zinazotarajiwa | Je, jibu linafaa kutumika? |
| Matokeo ya biashara | hali, makusanyo, ueneaji, onyo na meta | Je, tunajua nini katika eneo lililoombwa? |

Msimbo wa HTTP 200 si wa kutosha kuthibitisha utafutaji. Jibu linaweza kuonyesha utekelezaji wa sehemu au hali ya kosa. Kinyume chake, 404 kwenye njia si njia ya kawaida ya kuonyesha mkusanyiko tupu: hakiki URL na mkataba.

## Elewa success, empty, partial na error

| Hali | Matibabu yanayopendekezwa |
| --- | --- |
| success | Onyesha entiti baada ya kuthibitisha na hifadhi mipaka |
| empty | Onyesha kuwa hakuna matokeo yaliyorejeshwa kwa utafutaji huu |
| partial | Onyesha taarifa zinazotumika pamoja na onyo zao |
| error | Onyesha utafutaji haupatikani; usifikirie hakuna maeneo |

Ukosefu wa matokeo ni kwa ombi na vyanzo vinavyojulikana. Haukubadili kuwa hakuna huduma za kweli. Ueneaji usio kamili, kichujio kigumu au kikomo kinaweza kupunguza matokeo.

## Mti wa maamuzi kwa kiolesura chako

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

## Hakiki vigezo kwa mpangilio sahihi

Kagua kwanza latitudo na longitudo, mpangilio wake na mji ulioonekana. Kagua kisha kipimo cha mduara na msamiati wa vichujio. API ya Huduma hutumia types=toilets; URL ya ramani hutumia modes=toilets. Vigezo hivi ni vya mikataba tofauti.

Panua kisha kipimo kimoja kwa wakati: ongeza mduara ndani ya mipaka ya njia au toa kichujio kwa jaribio wazi. Hifadhi kumbukumbu ya ombi la awali. Ukienda kupanua kiotomatiki, waambie mtumiaji eneo jipya.

[Jenga utafutaji wa API ukizungukwa na kuratibu za GPS](https://www.roote.ai/sw/guides/kujitafuta-mahali-pa-usafiri-karibu-nawe-ukitumia-api/)

## Shimamia chanzo kisichopatikana bila kupoteza vingine

Jibu la sehemu linaweza kuwa na maeneo kutoka vyanzo vilivyojibu wakati vingine vikishindwa. Hifadhi matokeo haya, mali zao na onyo linalohusika. Usionyeshe orodha kuwa kamili na usibadilishe sehemu zilizokosekana kwa thamani za uwongo.

Taarifa ya zamani iliyohifadhiwa kwenye cache pia inaweza kusaidia ikiwa sera yako inaruhusu hili. Inapaswa kutambulika kama ya zamani. Saa ya kupokea ombi lako haisahihishi uchunguzi wa asili.

## Badilisha ujumbe na urejeshaji

| Hali | Ujumbe wa kubadilisha kwa kiolesura chako | Hatua |
| --- | --- | --- |
| empty | Hakuna matokeo yaliyorejeshwa katika eneo hili na vichujio hivi | Badilisha eneo au vichujio |
| partial | Baadhi ya matokeo yapo; utafutaji haujakamilika | Onyesha matokeo na onyo |
| Kosa la uthibitishaji | Utafutaji una vigezo batili | Sahihisha ombi |
| Uthibitishaji au haki | Ufikiaji huu haukuruhusu utafutaji huu | Hakiki akaunti au tokeni |
| Kikomo au ukosefu | Utafutaji haupatikani kwa sasa | Fuata maelekezo ya urejeshaji |

Kwa 429, angalia maelekezo ya huduma na Retry-After inayowezekana. Kosa 400 uhitaji sahihisho la hoja; kurudia ombi hilo halitatui. Usibadili 401 kuwa mwito wa bila jina kama mtumiaji ameleta tokeni.

[Marejeleo ya makosa ya API ROOTE](https://doc.roote.ai/roote-api/errors)

[Hali ya huduma za ROOTE](https://status.roote.ai/)

## Jaribu hali nne kabla ya kuchapisha

Tayarisha majibu ya majaribio kamili, tupu, sehemu na yenye kosa, pamoja na JSON batili na muda uliopita. Hakiki ujumbe unaoonyeshwa, matokeo yaliyohifadhiwa na idadi ya urejeshaji. Jaribio muhimu ni kwamba hitilafu haizali dai la ukosefu wa huduma.

[Tekeleza sheria hizi kwenye msaidizi wa AI](https://www.roote.ai/sw/guides/kujenga-msaidizi-wa-kipata-usalama-wa-mobility-katika-anwani/)

[Elewa muundo wa data za usafiri](https://www.roote.ai/sw/guides/tofauti-kati-ya-gtfs-gtfs-rt-na-gbfs/)

## Maswali yanayoulizwa mara kwa mara

### Orodha tupu inaonyesha ukosefu wa choo?

Hapana. Inaonyesha tu hakuna matokeo yaliyoletwa kwa utafutaji huu na vyanzo vilivyopitiwa.

### Je, majibu ya sehemu yanaweza kuonyeshwa?

Ndiyo, ikiwa entiti zinazotumika ni halali na ikiwa unahifadhi onyo na mipaka inayohitajika.

### Je, kosa lolote linapaswa kurudiwa tena?

Hapana. Sahihisha makosa ya vigezo au ufikiaji; fanya urejeshaji kwa matukio ya muda na heshimu maelekezo ya huduma.
