Bir HTTP URL'sine gönderdiğim bir JSON isteğim var.
Bu, requestedResource
alanının mevcut olduğu ancak "Roman"
alanının bu alan için geçersiz bir değer olduğu durumlarda 400
olarak mı değerlendirilmelidir?
[{requestedResource:"Roman"}]
Bu, "blah"
alanının hiç mevcut olmadığı 400
olarak mı değerlendirilmelidir?
[{blah:"Roman"}]
400, isteğin hatalı biçimlendirildiği anlamına gelir. Başka bir deyişle, istemci tarafından sunucuya gönderilen veri akışı kurallara uymamıştır.
JSON yüküne sahip bir REST API söz konusu olduğunda, 400'ler tipik olarak ve doğru bir şekilde JSON'un hizmet için API spesifikasyonuna göre bir şekilde geçersiz olduğunu belirtmek için kullanılır.
Bu mantıkla, verdiğiniz iki senaryonun da 400'lük olması gerekir.
Bunun yerine bunun JSON yerine XML olduğunu düşünün. Her iki durumda da XML, tanımlanmamış bir öğe veya uygun olmayan bir öğe değeri nedeniyle şema doğrulamasını asla geçemeyecektir. Bu kötü bir istek olurdu. Burada da aynı durum söz konusu.
Beklentiler hakkında düşünün.
Bir istemci uygulaması olarak, sunucu tarafında bir şeyler ters gittiğinde bunu bilmeyi beklersiniz. Sunucunun blah
eksik olduğunda veya requestedResource
değeri yanlış olduğunda bir hata vermesi gerekiyorsa, 400 hatası uygun olacaktır.