Para retornar de um controlador da API da Web 2, posso retornar o conteúdo com a resposta se a resposta estiver OK (status 200) assim:
public IHttpActionResult Get()
{
string myResult = ...
return Ok(myResult);
}
Se possível, desejo usar os tipos de resultados internos aqui, quando possível: https://msdn.microsoft.com/en-us/library/system.web.http.results(v=vs.118).aspx
Minha pergunta é, para outro tipo de resposta (não 200), como posso retornar uma mensagem (string) com ela? Por exemplo, eu posso fazer isso:
public IHttpActionResult Get()
{
return InternalServerError();
}
mas não isso:
public IHttpActionResult Get()
{
return InternalServerError("Message describing the error here");
}
Idealmente, quero que isso seja generalizado para que eu possa enviar uma mensagem de volta com qualquer uma das implementações de IHttpActionResult.
Preciso fazer isso (e criar minha própria mensagem de resposta):
public IHttpActionResult Get()
{
HttpResponseMessage responseMessage = ...
return ResponseMessage(responseMessage);
}
Ou há um modo melhor?
ApiController.InternalServerError
msdn.microsoft.com/en-us/library/dn292630(v=vs.118).aspx