Для повернення з контролера Web API 2 я можу повернути вміст з відповіддю, якщо відповідь ОК (стан 200) таким чином:
public IHttpActionResult Get()
{
string myResult = ...
return Ok(myResult);
}
Якщо можливо, я хочу тут використовувати вбудовані типи результатів: https://msdn.microsoft.com/en-us/library/system.web.http.results(v=vs.118).aspx
Моє запитання полягає в тому, що для іншого типу відповіді (не 200), як я можу повернути повідомлення (рядок) разом з ним? Наприклад, я можу це зробити:
public IHttpActionResult Get()
{
return InternalServerError();
}
але не це:
public IHttpActionResult Get()
{
return InternalServerError("Message describing the error here");
}
В ідеалі я хочу, щоб це було узагальнено, щоб я міг надсилати повідомлення назад із будь-якою з реалізацій IHttpActionResult.
Чи потрібно це робити (і створити власне повідомлення відповіді):
public IHttpActionResult Get()
{
HttpResponseMessage responseMessage = ...
return ResponseMessage(responseMessage);
}
чи є кращий спосіб?
ApiController.InternalServerError
msdn.microsoft.com/en-us/library/dn292630(v=vs.118).aspx