gpt4 book ai didi

c# - 拦截webapi json格式错误

转载 作者:行者123 更新时间:2023-12-01 19:01:29 25 4
gpt4 key购买 nike

我希望有一种方法来拦截当您将格式错误的 json 发送到 webapi 端点时发生的异常,这样我就可以返回语义错误代码,而不是仅返回 500。(例如“修复损坏的 JSON”或下 hell ”)

最佳答案

您可以通过派生自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.Filters.Add(new ValidationFilterAttribute());

关于c# - 拦截webapi json格式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26424404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com