Я смотрю документацию WebAPI 2
, и я сильно разочарован тем, как результаты действий были заархивированы. Я действительно надеюсь, что есть лучший способ.Обратные типы WebApi 2
Так документация говорит, что я могу вернуть эти:
**void** Return empty 204 (No Content)
**HttpResponseMessage** Convert directly to an HTTP response message.
**IHttpActionResult** Call ExecuteAsync to create an HttpResponseMessage, then convert to an HTTP response message.
**Other type** Write the serialized return value into the response body; return 200 (OK).
Я не вижу чистый способ вернуть массив элементов с кодом состояния пользовательских HTTP, пользовательские заголовки и авто переговоры содержание, хотя.
То, что я хотел бы видеть что-то вроде
public HttpResult<Item> Post()
{
var item = new Item();
var result = new HttpResult<Item>(item, HttpStatusCode.Created);
result.Headers.Add("header", "header value");
return result;
}
Таким образом, я могу глянуть по методу и сразу увидеть, Что возвращается, и изменить код статуса и заголовки.
Ближайшая вещь, которую я нашел, это NegotiatedContentResult<T>
, с странной подписью (зачем нужен экземпляр контроллера?), Но нет способа установить пользовательские заголовки?
Есть ли лучший способ?
Что ApiQueryResult должен быть включен в структуру, imo. – Evgeni