Какой код состояния HTTP должен быть возвращен при указании недопустимого идентификатора?

Какой код состояния должен быть возвращен для запроса на удаление несуществующего объекта?

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");
}

С самим запросом все в порядке, просто бывает, что указанный идентификатор недействителен (или элемент уже удален), поэтому я не уверен в диапазоне 400. Я почти уверен, что коды 500 еще меньше подходят для этого, так как на сервере ничего не пошло не так (его просто попросили удалить то, чего не существует).

Какой код состояния здесь наиболее уместен?


person yoozer8    schedule 09.05.2013    source источник


Ответы (1)


Какой код состояния должен быть возвращен для запроса на удаление несуществующего объекта?

404 - Not Found

person Darin Dimitrov    schedule 09.05.2013
comment
Это имеет большой смысл. Сначала я отмахнулся от этого, так как мне казалось, что он больше ориентирован на запрос к несуществующему местоположению (и существует URL-адрес удаления, но не объект). - person yoozer8; 09.05.2013