对于从Web API 2控制器返回的消息,如果响应正常(状态200),我可以返回包含响应的内容,如下所示:
public IHttpActionResult Get()
{
string myResult = ...
return Ok(myResult);
}
如果可能的话,我想在此处使用内置的结果类型:https : //msdn.microsoft.com/zh-cn/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