存在しないオブジェクトを削除するリクエストに対して、どのステータス コードを返す必要がありますか?
public ContentResult DeleteEntity(int id, FormCollection FormData)
{
Database db = new Database();
TargetEntity te = db.TargetEntities.SingleOrDefault(t => t.Id == id);
if(te == null)
{
Reponse.StatusCode = 400; //Is this correct?
return Content("Deletion failed. Invalid ID: " + id);
}
//Delete the entity
return Content("Successfully Deleted");
}
リクエスト自体は問題ありません。たまたま指定された ID が無効である (またはアイテムが既に削除されている) ため、400 の範囲についてはわかりません。サーバー上で何も問題が発生していないため、500 コードはこれにはあまり適していないと確信しています (存在しないものを削除するように求められただけです)。
ここで最も適切なステータス コードはどれですか?