Na powrocie z kontrolerem Web API 2, mogę powrócić treści z odpowiedzi, czy odpowiedź jest OK (stan 200) tak:Powrót treści z IHttpActionResult dla non-OK odpowiedzi
public IHttpActionResult Get()
{
string myResult = ...
return Ok(myResult);
}
Jeśli to możliwe, Chcę używać wbudowanych typów wyników tutaj, gdy to możliwe: https://msdn.microsoft.com/en-us/library/system.web.http.results(v=vs.118).aspx
Moje pytanie dotyczy innego rodzaju odpowiedzi (nie 200), w jaki sposób mogę zwrócić wiadomość (ciąg) z nią? Na przykład, mogę to zrobić:
public IHttpActionResult Get()
{
return InternalServerError();
}
ale nie w ten sposób:
public IHttpActionResult Get()
{
return InternalServerError("Message describing the error here");
}
Idealnie chcę to być uogólnione tak, że mogę wysłać z powrotem z którymkolwiek z implementacjami IHttpActionResult.
Czy muszę to zrobić (i zbudować własną wiadomość z odpowiedzią):
public IHttpActionResult Get()
{
HttpResponseMessage responseMessage = ...
return ResponseMessage(responseMessage);
}
czy jest jakiś lepszy sposób?
jak o tym: http://stackoverflow.com/questions/10732644/best-practice-to-return-errors-in-asp-net -web-api – Milen
nie można użyć 'ApiController.InternalServerError' https://msdn.microsoft.com/en-us/library/dn292630(v=vs.118).aspx – Ric
@Milen, dziękuję. Coś takiego może działać. Część, której nie lubię, wymaga stworzenia innej implementacji IHttpActionResult dla każdej istniejącej implementacji, którą chcę móc wykorzystać. – mayabelle