Hibák
A hiba alakja
Szekció neve “A hiba alakja”{ "error": { "code": "INVALID_ARGUMENT", "message": "Unknown field: naem" } }| Mező | Mi |
|---|---|
code |
a hiba fajtája — erre épüljön a kliens |
reason |
az üzleti szabály hibájánál (422) és az állapot-ütközésnél (409) az ok, gépi kód (DUPLICATE); az entitás lapja műveletenként sorolja |
message |
a hiba szövege, angolul. Változhat: ne dolgozd fel. |
fields |
csak a VALIDATION_FAILED-ben, ha a hiba mezőhöz köthető — A mezőhibák |
Hibakódok
Szekció neve “Hibakódok”| HTTP | code |
Mikor | Teendő |
|---|---|---|---|
400 |
INVALID_ARGUMENT |
a kérés hibás: ismeretlen mező vagy paraméter, csak olvasható mező, query-string az írásnál, rossz JSON, hiányzó paraméter (például se id, se code), rossz típus (nem szöveg a szöveges, nem egész szám az integer mezőben, nem true / false az igen/nem mezőben, hibás dátum), a kódos szűrő ismeretlen vagy több elemre illő értéke (például nem létező projectCode a listában — az azonosítós szűrő ismeretlen értékére a lista üres, 200), negatív azonosító a szűrőben |
a hívó kód javítása |
401 |
UNAUTHENTICATED |
a kulcs érvénytelen, vagy a hívó címéről nem engedett a belépés | a kulcs és a cím ellenőrzése |
403 |
PERMISSION_DENIED |
a kulcsnak nincs joga a művelethez vagy a küldött mezőhöz, vagy erről a címről nem használható | a kulcs jogai és címei |
404 |
NOT_FOUND |
a művelet elemét nem találja: ismeretlen id vagy code · ismeretlen entitás vagy művelet |
az azonosító, a cím ellenőrzése |
405 |
METHOD_NOT_ALLOWED |
a művelet ezzel a metódussal nem hívható: az írás csak POST-tal, az olvasás GET-tel vagy POST-tal — az Allow fejléc mondja meg, mivel hívható |
a metódus javítása |
409 |
CONFLICT |
a kérés az elem állapotával ütközik: tiltott elem módosítása disabled: false nélkül (DISABLED_EDIT) |
a disabled: false a kérésbe, vagy előbb a feloldás |
415 |
UNSUPPORTED_MEDIA_TYPE |
a törzs se nem JSON, se nem form | a Content-Type: application/json fejléc |
422 |
VALIDATION_FAILED |
az adat hibás vagy üzleti szabályba ütközik: kötelező mező, túl hosszú vagy túl rövid szöveg, rossz formátum, a tartományon kívüli szám, nem választható érték, nem létező vagy nem egyértelmű hivatkozás a beküldött adatban (például roleName, projectCode), több elemen álló code a művelet elemének keresésében, foglalt érték |
az adat javítása |
429 |
RATE_LIMITED |
a kulcs kérés-korlátja fölött | várakozás: ha a válaszban Retry-After jön, annyi másodperc |
500 |
INTERNAL |
szerverhiba | később újra; ha marad, jelezd |
500 |
UNAVAILABLE |
a szolgáltatás átmenetileg nem érhető el | később újra |
503 |
MAINTENANCE |
karbantartás, rövid ideig | újra, néhány másodperc múlva |
Ezek az okok minden műveletre igazak. Az entitás lapja műveletenként csak a művelet saját eseteit sorolja.
A mezőhibák
Szekció neve “A mezőhibák”{ "error": { "code": "VALIDATION_FAILED", "message": "Invalid data", "fields": [ { "field": "login", "code": "TOO_SHORT", "title": "Login name", "message": "Too short (min 8 characters)" }, { "field": "email", "code": "INVALID_EMAIL", "title": "E-mail address", "message": "Invalid e-mail format" } ] }}| Mező | Mi |
|---|---|
field |
a hibás mező neve |
code |
a hiba oka, gépi kód — lent |
title |
a mező felirata |
message |
a hiba szövege |
code |
Mi |
|---|---|
REQUIRED |
kötelező mező hiányzik |
TOO_LONG · TOO_LONG_BYTES |
túl hosszú szöveg |
TOO_SHORT |
túl rövid szöveg |
INVALID_EMAIL · INVALID_FORMAT |
rossz formátum |
TOO_LOW · TOO_HIGH |
a tartományon kívüli szám |
INVALID_VALUE |
nem választható érték, nem létező hivatkozás |
AMBIGUOUS |
a hivatkozás több elemet jelöl |
Az entitás saját kódjait a lapja sorolja, a hibatáblában.
Az üzleti szabály hibája fields nélkül jön:
{ "error": { "code": "VALIDATION_FAILED", "reason": "ITEM_ANONYMIZED", "message": "An anonymized item is final — it can only be deleted" } }JSON nélküli válaszok
Szekció neve “JSON nélküli válaszok”Ezek a válaszok error nélkül jönnek — a kliens a HTTP-státusz szerint kezelje:
| HTTP | Mikor |
|---|---|
413 |
a törzs túl nagy |
502 · 504 |
a szolgáltatás átmenetileg nem érhető el |