У меня есть следующие Api Controller
:ASP.NET Web API установить пользовательский код статуса
[HttpPost]
public User Create(User user)
{
User user = _domain.CreateUser(user);
//set location header to /api/users/{id}
//set status code to 201
//return the created user
}
Похоже, мы должны зависеть от Request.CreateResponse(..)
и изменить подпись контроллера, чтобы вернуть IHttpActionResult
.
Я не хочу менять подпись метода, так как это очень полезно для целей документации. Я могу добавить заголовок Location
, используя HttpContext.Current.Response...
, но не смог установить код состояния.
У кого-нибудь есть лучшая идея?
это не хороший ответ. он не заслуживает нисходящего звена, потому что он делает именно то, что он говорит, но бросать исключения, чтобы получить желаемое поведение здесь, это Wack hacky. –
Использовать исключение, чтобы указать нормальный результат, не является разумным ответом. –
Из двух статей рекомендуется использовать www.asp.net для установки определенного кода состояния и возврата пользовательского объекта. – Nhan