拦截webapi json格式错误
本文关键字:错误 格式 json webapi 拦截 | 更新日期: 2023-09-27 18:27:02
我想有一种方法来拦截当您向webapi端点发送格式错误的json时发生的异常,这样我就可以返回语义错误代码,而不是仅返回500。(例如"修复损坏的JSON,否则就见鬼去吧")
您可以通过从ActionFilterAttribute
:派生来创建自定义验证筛选器属性
public class ValidationFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(HttpActionContext actionContext)
{
if (!actionContext.ModelState.IsValid)
{
actionContext.Response = actionContext
.Request
.CreateErrorResponse(HttpStatusCode.BadRequest,
actionContext.ModelState);
}
}
}
现在,你可以用它来装饰你的行为:
[HttpGet]
[ValidationFilter()]
public string DoSomethingCool()
或通过您的config
:在全球注册
config.Filters.Add(new ValidationFilterAttribute());