gpt4 book ai didi

asp.net - 如何捕获或拦截ODataException以返回自定义错误有效载荷

转载 作者:行者123 更新时间:2023-12-03 08:40:14 25 4
gpt4 key购买 nike

我正在重构使用Odata的ASP.NET WEB API解决方案。
处理错误时,我想提供一个在CustomException类中定义的自定义错误有效负载。

问题是,当我提出错误请求时,生成的响应是ODataException错误有效负载,其中包含一些我不想公开的 secret 信息以及堆栈跟踪。

我需要修改此Odata有效负载并将其替换为我自己的有效负载。

到目前为止,我尝试过的是使用应用于 Controller 级别的异常过滤器,并且还尝试在全局级别注册异常处理程序。这些都不起作用。

任何帮助将不胜感激。

最佳答案

我能够使用异常过滤器解决它,之前我使用了错误的方法:

public class CustomExceptionFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
ErrorContentResponse error = new ErrorContentResponse();

var response = new HttpResponseMessage(actionExecutedContext.Response.StatusCode)
{
Content = new ObjectContent<ErrorContentResponse>(error, new JsonMediaTypeFormatter())
};

actionExecutedContext.Response = response;
}
}

关于asp.net - 如何捕获或拦截ODataException以返回自定义错误有效载荷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62176667/

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