为了从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");

07-27 20:22