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);
最佳答案
不确定这是否仍然相关,因为这个问题已有 2 年多了...... 不过,这样做的方法确实是使用
return Content(HttpStatusCode.BadRequest, errorModel);
拥有一个包含详细信息的标准化错误模型实际上是一个很好的做法。另见此处:API Best Practices: Response Handling
关于c# - 网络 API 2 : BadRequest with custom error model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27439100/