在.NET Web Api 2 iHttpActionResult对象中返回错误的更有效方法?

时间:2014-06-01 16:00:24

标签: c# rest httpresponse asp.net-web-api2

我想在我的服务中返回一个HTTP错误代码和一个JSON对象。但我找不到一种直截了当的方法来做到这一点。

现在这就是我这样做的方式:

if (!ModelState.IsValid)
{
    return ResponseMessage(Request.CreateResponse(HttpStatusCode.BadRequest, new BadRequestError(ModelState)));
}

基本上我用我想要返回的对象创建一个HTTPResponse,然后我转换它"到IHttpActionResult实例。

这是对的吗?或者我应该采取另一种方式吗?

1 个答案:

答案 0 :(得分:1)

如果您确定BadRequest是正确的错误消息,则可以使用BadRequest(字符串错误)方法,如here所示。要发送JSON,您首先要将其解析为字符串并将其作为参数传递。

这可以从控制器类完成,并且因为它们是ApiController类型的超类而可用。另请注意,ApiController类中还有其他错误类型的方法。