400 BAD pieprasījuma HTTP kļūdas koda nozīme?

Man ir JSON pieprasījums, ko es's norīkoju uz HTTP URL.

Vai tas būtu jāuzskata par 400, ja pieprasītaisResource lauks pastāv, bet "Roman" ir nederīga šī lauka vērtība?

[{requestedResource:"Roman"}] 

Vai tas būtu jāuzskata par 400, ja "blah" lauks vispār nepastāv?

[{blah:"Roman"}]

400 nozīmē, ka pieprasījums ir nepareizi noformēts. Citiem vārdiem sakot, datu plūsma, ko klients nosūtīja uz serveri, neatbilst noteikumiem.

REST API ar JSON ielādi gadījumā 400's parasti un, es teiktu, pareizi tiek izmantots, lai norādītu, ka JSON ir nederīgs saskaņā ar pakalpojuma API specifikāciju.

Saskaņā ar šo loģiku abiem jūsu minētajiem scenārijiem vajadzētu būt 400's.

Iedomājieties, ka tā vietā tas būtu XML, nevis JSON. Abos gadījumos XML nekad neizturētu shēmas validāciju - vai nu nenoteikta elementa, vai nepareizas elementa vērtības dēļ. Tas būtu slikts pieprasījums. Tas pats attiecas arī uz šo gadījumu.

Komentāri (6)

No w3.org

10.4.1 400 Slikts pieprasījums

Serveris nesaprata pieprasījumu nepareizas formas dēļ. sintakses. Klients NEPIEMĒRO atkārtot pieprasījumu bez izmaiņām.

Komentāri (5)

Padomājiet par gaidām.

Kā klienta lietojumprogramma jūs sagaidāt, ka uzzināsiet, ja servera pusē kaut kas notiks nepareizi. Ja serverim ir jāizmet kļūda, ja trūkst blah vai requestedResource vērtība ir nepareiza, tad 400 kļūda būtu piemērota.

Komentāri (0)