Nuo ko pradėti

Klaidos

HTTP būsenos kodai ir tikslios Duomenų API grąžinamų klaidų struktūros – su interaktyvia peržiūra.

Atnaujinta

API naudoja standartinius HTTP būsenos kodus. 2xx reiškia sėkmę; bet kas kita turi klaidos turinį, o turinio forma priklauso nuo to, kuris sluoksnis suklydo. Pasirinkite būsenos kodą žemiau ir pamatysite, kada jis įvyksta, ką tiksliai grąžina API ir kaip tai tvarkyti.

Kada įvyksta

Užklausos kūnas netinkamas dar prieš vykdant užklausą – dažniausiai limit arba offset nėra skaičius.

Atsakymo turinys
{  "type": "https://tools.ietf.org/html/rfc9110#section-15.5.1",  "title": "One or more validation errors occurred.",  "status": 400,  "errors": {    "$.limit": [      "The JSON value could not be converted to System.Int32."    ]  },  "traceId": "00-ffc84beb047191d9…-00"}
Kaip tvarkyti

Siųskite tinkamą JSON su teisingais tipais (limit ir offset yra skaičiai, ne eilutės). errors objektas nurodo kiekvieną klaidingą lauką pagal jo JSON kelią.

Iš kur ateina forma

  • { message, error_code } – duomenų sluoksnis (pvz., 404 trūkstamai lentelei).
  • { error, error_code } – programos klaidos objektas, aprašytas OpenAPI specifikacijoje.
  • error code: NNN (grynas tekstas) – sąsajos lygio 5xx, kuris nepasiekė programos.
  • RFC 9110 problemos dokumentas – užklausos validacija (400 / 422), klaidingi laukai po errors.

Kai yra, skaitykite error_code dėl pastovios mašininės priežasties ir grįžkite prie žmogui skirtos žinutės.

Kas dažniausiai nustebina

Netinkamas filter arba nežinomas stulpelis grąžina 502, o ne 400. Filtras perduodamas tiesiai užklausų varikliui, todėl jį atmeta variklis, o ne užklausos validatorius. Taigi:

  • Netinkamas operatorius (._gte) ar stulpelio pavadinimas → 502, turinys error code: 502.

  • Netinkamas reikšmės tipas (limit: "abc") → 400, aukščiau parodytas RFC problemos dokumentas.

Tikslią filtro gramatiką rasite skiltyje Užklausos.

Klaidų tvarkymas

  • Pirmiausia patikrinkite būsenos kodą, tada analizuokite turinį pagal aukščiau pateiktas formas.

  • 404 yra įprasta naršant – vardų erdvė tiesiog gali neturėti tokios lentelės.

  • 502 / 503 / 504 atveju kartokite su atidėjimu – bet pirma atmeskite netinkamą užklausą (tai tas pats kodas, kurį variklis grąžina esant netinkamam filtrui).

Taip pat žiūrėkite

Kaip vertinate šį puslapį?