【问题标题】:Web Api 2: BadRequest with custom error modelWeb Api 2:带有自定义错误模型的 BadRequest
【发布时间】:2015-02-10 21:30:18
【问题描述】:

ApiController 上可用的 BadRequest 方法仅接受字符串:

// Summary:
//     Creates an System.Web.Http.Results.ErrorMessageResult (400 Bad Request) with
//     the specified error message.
//
// Parameters:
//   message:
//     The user-visible error message.
//
// Returns:
//     An System.Web.Http.Results.InvalidModelStateResult with the specified model
//     state.
protected internal virtual BadRequestErrorMessageResult BadRequest(string message);

为什么没有接受自定义错误模型 T 的重载?

例如,我可能想在消息中返回一个代码:

{
    message: "Error message",
    code: "1000",
}

我可以这样做,但我怀疑一定有一个潜在的原因(也许符合 RESTful 标准?):

return Content(HttpStatusCode.BadRequest, errorModel);

【问题讨论】:

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


    【解决方案1】:

    不确定这是否仍然相关,因为这个问题已经超过 2 年了...... 不过,这样做的方法确实是使用

    return Content(HttpStatusCode.BadRequest, errorModel);
    

    拥有一个包含详细信息的标准化错误模型实际上是一种非常好的做法。也可以在这里查看:API Best Practices: Response Handling

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-03
      • 1970-01-01
      • 1970-01-01
      • 2015-03-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多