Minulla on JSON-pyyntö, jonka lähetän HTTP URL-osoitteeseen.
Pitäisikö tätä käsitellä 400
-kenttänä, jossa requestedResource
-kenttä on olemassa, mutta "Roman"
on kentän virheellinen arvo?
[{requestedResource:"Roman"}]
Pitäisikö tätä käsitellä 400
, jos "blah"
-kenttää ei ole lainkaan olemassa?
[{blah:"Roman"}]
Tulos 400 tarkoittaa, että pyyntö oli väärin muotoiltu. Toisin sanoen asiakkaan palvelimelle lähettämä tietovirta ei noudattanut sääntöjä.
Kun kyseessä on REST-API, jossa on JSON-hyötykuorma, 400:aa käytetään tyypillisesti - ja sanoisin, että oikein - osoittamaan, että JSON on jollain tavalla virheellinen palvelun API-määrittelyn mukaan.
Tämän logiikan mukaan molempien antamiesi skenaarioiden pitäisi olla 400's.
Kuvittele, että kyseessä olisi sen sijaan XML eikä JSON. Kummassakaan tapauksessa XML ei läpäisisi skeeman validointia - joko määrittelemättömän elementin tai väärän elementtiarvon vuoksi. Se olisi huono pyyntö. Sama juttu täällä.