400 BAD request HTTP-feilkode Betydning?
Jeg har en JSON-forespørsel som jeg sender til en HTTP-URL.
Skal dette behandles som 400
der requestedResource
-feltet finnes, men "Roman"
er en ugyldig verdi for dette feltet?
[{requestedResource:"Roman"}]
Skal dette behandles som 400
der feltet "blah"
ikke finnes i det hele tatt?
[{blah:"Roman"}]
332
3
En 400 betyr at forespørselen var feilformet. Datastrømmen som klienten sendte til serveren, fulgte med andre ord ikke reglene.
Når det gjelder et REST-API med en JSON-nyttelast, brukes 400 vanligvis, og med rette vil jeg si, for å indikere at JSON er ugyldig på en eller annen måte i henhold til API-spesifikasjonen for tjenesten.
Med den logikken bør begge scenariene du oppga være 400' er.
Tenk deg i stedet at dette var XML i stedet for JSON. I begge tilfeller ville XML aldri passere skjemavalidering - enten på grunn av et udefinert element eller en feil elementverdi. Det ville være en dårlig forespørsel. Samme sak her.
Fra w3.org.
Tenk på forventningene.
Som klientapp forventer du å vite om noe går galt på serversiden. Hvis serveren må kaste en feil når
blah
mangler ellerrequestedResource
-verdien er feil, vil en 400-feil være passende.