惯例 - 正确的错误处理Web Api 2 - Json响应

时间:2015-02-25 14:09:13

标签: c# json api error-handling asp.net-web-api2

基于WebApi2项目,控制器返回IHttpActionResult

definition,控制器可以返回 void IHttpActionResultHttpResponseMessage或任何其他类型。

到目前为止一切顺利,但困扰我的是框架默认实现BadRequest()source code)接受以下参数:

  • 的ModelState

api payload {"Message":"The request is invalid.","ModelState":{"errorCode":["000001"],"message":["What a bad request"]}}

  • 消息(字符串)

api payload {"Message":"What a bad request!"}

  • 无参数

api payload Content-Length:0 - 没有


我正在尝试关注如何返回jsonapiregarding to http error codes以及主要the content of the response中描述的例外的其他api 最佳做法我应该最终手动创建自定义响应,以便具有以下内容:

Http代码: 400

有效载荷:

{
    "errorCode" : "00001",
    "message" : "What a bad request!",
    "attributes" : [ "Foo" ],
    "moreInfo" : "http://api/errors/00001"
}

...我想知道api团队用什么指导来定义BadRequest实现

0 个答案:

没有答案