Per tornare da un controller Web API 2, posso restituire il contenuto con la risposta se la risposta è OK (stato 200) in questo modo:
public IHttpActionResult Get()
{
string myResult = ...
return Ok(myResult);
}
Se possibile, desidero utilizzare i tipi di risultati incorporati qui quando possibile: https://msdn.microsoft.com/en-us/library/system.web.http.results(v=vs.118).aspx
La mia domanda è, per un altro tipo di risposta (non 200), come posso restituire un messaggio (stringa) con esso? Ad esempio, posso fare questo:
public IHttpActionResult Get()
{
return InternalServerError();
}
ma non questo:
public IHttpActionResult Get()
{
return InternalServerError("Message describing the error here");
}
Idealmente, voglio che questo sia generalizzato in modo da poter inviare un messaggio indietro con una qualsiasi delle implementazioni di IHttpActionResult.
Devo fare questo (e creare il mio messaggio di risposta):
public IHttpActionResult Get()
{
HttpResponseMessage responseMessage = ...
return ResponseMessage(responseMessage);
}
o c'è un modo migliore?
ApiController.InternalServerError
msdn.microsoft.com/en-us/library/dn292630(v=vs.118).aspx