W przypadku zwrotu z kontrolera Web API 2 mogę zwrócić treść z odpowiedzią, jeśli odpowiedź jest OK (status 200) w następujący sposób:
public IHttpActionResult Get()
{
string myResult = ...
return Ok(myResult);
}
Jeśli to możliwe, chcę tutaj użyć wbudowanych typów wyników: https://msdn.microsoft.com/en-us/library/system.web.http.results(v=vs.118).aspx
Moje pytanie brzmi: w przypadku innego rodzaju odpowiedzi (nie 200), jak mogę zwrócić z nią wiadomość (ciąg znaków)? Na przykład mogę to zrobić:
public IHttpActionResult Get()
{
return InternalServerError();
}
ale nie to:
public IHttpActionResult Get()
{
return InternalServerError("Message describing the error here");
}
Idealnie byłoby, gdyby uogólniono to, aby móc odesłać wiadomość z dowolną implementacją IHttpActionResult.
Czy muszę to zrobić (i zbudować własny komunikat odpowiedzi):
public IHttpActionResult Get()
{
HttpResponseMessage responseMessage = ...
return ResponseMessage(responseMessage);
}
Czy jest jakiś lepszy sposób?
ApiController.InternalServerError
msdn.microsoft.com/en-us/library/dn292630(v=vs.118).aspx