ASP.NETMVC中API异常过滤器在异常时返回200响应代码。
创始人
2024-09-19 08:30:41
0次

可以通过重写 ExceptionFilterAttribute 类的 OnException 方法来实现在 API 异常时返回正确的 HTTP 响应代码。

以下是代码示例:

public class CustomExceptionFilterAttribute : ExceptionFilterAttribute
{
    public override void OnException(HttpActionExecutedContext context)
    {
        if (context.Exception != null)
        {
            // 根据异常类型设置要返回的 HTTP 响应代码
            var responseCode = HttpStatusCode.InternalServerError;

            if (context.Exception is AccessDeniedException)
            {
                responseCode = HttpStatusCode.Forbidden;
            }
            else if (context.Exception is NotFoundException)
            {
                responseCode = HttpStatusCode.NotFound;
            }

            // 创建 HttpResponseMessage 对象并设置要返回的 HTTP 响应代码
            var response = context.Request.CreateResponse(responseCode);

            // 将错误信息写入响应体中
            response.Content = new StringContent(context.Exception.Message);

            // 替换执行结果为新的 HttpResponseMessage 对象
            context.Response = response;
        }
    }
}

使用方法:

可以将 CustomExceptionFilterAttribute 属性添加到 API 控制器中的某个方法上,以使该方法调用后产生的异常能够被过滤器捕获并返回正确的 HTTP 响应代码。

例如:

[CustomExceptionFilter]
public IHttpActionResult Get(int id)
{
    var result = service.GetData(id);

    if (result == null)
    {
        throw new NotFoundException("Data not found.");
    }

    return Ok(result);
}

相关内容

热门资讯

揭秘真相!达达麻将透视挂脚本软... 揭秘真相!达达麻将透视挂脚本软件,达达麻将都是真的是有透视挂了解攻略1、操作简单,无需达达麻将手机版...
今日百科!趣乐透视挂脚本软件,... 今日百科!趣乐透视挂脚本软件,趣乐一贯有透视挂教你攻略1、下载好趣乐脚本下载之后点击打开,先需要设置...
教程辅助!红中茶馆辅助脚本软件... 教程辅助!红中茶馆辅助脚本软件,红中茶馆好像存在有辅助分享方法该软件可以轻松地帮助玩家将红中茶馆外卦...
一分钟快速了解!蟾宫辅助脚本软... 一分钟快速了解!蟾宫辅助脚本软件,蟾宫都是真的是有辅助揭露技巧1、完成蟾宫辅助器v3.3的残局,帮助...
教学盘点!闲来互娱辅助器脚本软... 教学盘点!闲来互娱辅助器脚本软件,闲来互娱都是是真的有辅助器关于方法1、在闲来互娱插件功能辅助器技巧...
分辨真假!起来麻将辅助脚本软件... 分辨真假!起来麻将辅助脚本软件,起来麻将一贯有辅助辅助教程1、起来麻将透视辅助软件激活码多个强度级别...
热点推荐!奥云阿城麻将透视挂脚... 热点推荐!奥云阿城麻将透视挂脚本软件,奥云阿城麻将本来真的是有透视挂了解神器1、金币登录送、破产送、...
玩家必用!开心泉州麻将透视挂脚... 玩家必用!开心泉州麻将透视挂脚本软件,开心泉州麻将总是存在有透视挂普及神器1、全新机制【开心泉州麻将...
玩家必看教程!大宝麻将开挂脚本... 玩家必看教程!大宝麻将开挂脚本软件,大宝麻将好像真的有开挂必备神器1、该软件可以轻松地帮助玩家将大宝...
玩家必看科普!太浪扶余麻将透视... 玩家必看科普!太浪扶余麻将透视挂脚本软件,太浪扶余麻将总是存在有透视挂详细神器1)太浪扶余麻将免费钻...