为了从Web API 2 Controller 返回,如果响应正常(状态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);
}
或者,还有更好的方法?
最佳答案
您可以使用此:
return Content(HttpStatusCode.BadRequest, "Any object");