Tovább a tartalomhoz
ADERTISADERTISConnect

Hibák

Válasz 400application/json
{ "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
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.

Válasz 422application/json
{
"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:

Válasz 422application/json
{ "error": { "code": "VALIDATION_FAILED", "reason": "ITEM_ANONYMIZED", "message": "An anonymized item is final — it can only be deleted" } }

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