Jeg har en JSON-anmodning, som jeg sender til en HTTP-URL.
Skal dette behandles som 400
, hvor feltet requestedResource
findes, men "Roman"
er en ugyldig værdi for dette felt?
[{requestedResource:"Roman"}]
Skal dette behandles som 400
, hvor feltet &"blah"
slet ikke eksisterer?
[{blah:"Roman"}]
En 400 betyder, at anmodningen var forkert udformet. Med andre ord fulgte den datastrøm, som klienten sendte til serveren, ikke reglerne.
I tilfælde af et REST API med en JSON-nytedata, bruges 400 typisk, og korrekt vil jeg sige, til at angive, at JSON'en er ugyldig på en eller anden måde i henhold til API-specifikationen for tjenesten.
Efter den logik burde begge de scenarier, du har givet, være 400's.
Forestil dig i stedet, at det var XML i stedet for JSON. I begge tilfælde ville XML aldrig bestå skemavalidering - enten på grund af et udefineret element eller en ukorrekt elementværdi. Det ville være en dårlig anmodning. Det samme gælder her.