Zajmuję się dokumentacją WebAPI 2
i jestem poważnie rozczarowany sposobem, w jaki wyniki działania zostały zaprojektowane. Naprawdę mam nadzieję, że jest lepszy sposób.Typy zwrotu WebApi 2
Więc dokumentacja mówi, mogę powrócić nich:
**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).
nie widzę czystą drogę powrotu tablicę elementów z niestandardowy kod stanu HTTP, niestandardowych nagłówków i samochodów do uzgodnienia zawartości chociaż.
Co chciałbym zobaczyć coś jak
public HttpResult<Item> Post()
{
var item = new Item();
var result = new HttpResult<Item>(item, HttpStatusCode.Created);
result.Headers.Add("header", "header value");
return result;
}
ten sposób mogę spojrzenie na metody i natychmiast zobaczyć co jest zwracane i modyfikować kod statusu oraz nagłówki.
Najbliższą rzeczą, którą znalazłem jest NegotiatedContentResult<T>
, z dziwnym podpisem (dlaczego potrzebuje instancji kontrolera?), Ale nie ma możliwości ustawienia niestandardowych nagłówków?
Czy istnieje lepszy sposób?
To ApiQueryResult powinno być włączone w ramy, imo. – Evgeni