ASP.net Core - 使用API控制器处理自定义错误页面
创始人
2024-09-14 12:00:53
0

以下是使用API控制器处理自定义错误页面的解决方法的代码示例:

首先,在Startup.cs文件的Configure方法中添加以下代码:

app.UseExceptionHandler("/Error");
app.UseStatusCodePagesWithReExecute("/Error/{0}");

然后,在Controllers文件夹中创建一个名为ErrorController的控制器,并添加以下代码:

[ApiController]
[Route("Error")]
public class ErrorController : ControllerBase
{
    [HttpGet("{statusCode}")]
    public IActionResult HandleErrorCode(int statusCode)
    {
        var errorViewModel = new ErrorViewModel();

        // 根据状态码设置错误消息
        switch (statusCode)
        {
            case 404:
                errorViewModel.ErrorMessage = "页面不存在";
                break;
            case 500:
                errorViewModel.ErrorMessage = "服务器出错";
                break;
            default:
                errorViewModel.ErrorMessage = "发生未知错误";
                break;
        }

        return StatusCode(statusCode, errorViewModel);
    }

    [HttpGet]
    public IActionResult HandleError()
    {
        var errorViewModel = new ErrorViewModel
        {
            ErrorMessage = "发生未知错误"
        };

        return StatusCode(500, errorViewModel);
    }
}

最后,创建一个名为ErrorViewModel的模型类,用于表示错误页面的视图模型:

public class ErrorViewModel
{
    public string ErrorMessage { get; set; }
}

这样,当发生错误时,API控制器将根据状态码返回自定义的错误页面。

相关内容

热门资讯

第二分钟开挂!微乐小程序黑科技... 第二分钟开挂!微乐小程序黑科技,微乐小程序黑科技下载(开挂)都是是有挂(2026)1、微乐小程序黑科...
透视教程!微乐小程序免费黑科技... 透视教程!微乐小程序免费黑科技,微乐小程序免费黑科技5个玩家常用方法(透视)竟然真的是有挂(哔哩哔哩...
第1分钟开挂!微乐小程序黑科技... 第1分钟开挂!微乐小程序黑科技,微乐兰州麻将小程序辅助(开挂)其实真的是有挂(2026)1、不需要A...
2026版辅助挂!微乐小程序免... 2026版辅助挂!微乐小程序免费黑科技,微乐游戏公众号辅助器(透视)真是真的有挂(哔哩哔哩)1、点击...
第2分钟神器!微乐小程序黑科技... 第2分钟神器!微乐小程序黑科技,微乐自建房脚本免费下载苹果版(开挂)一直有挂(2026)1、下载好微...
3分钟安装!微乐小程序黑科技,... 3分钟安装!微乐小程序黑科技,微信小程序微乐辅助器(开挂)一贯真的是有挂(2026)1、首先打开微乐...
长期以来!微乐小程序黑科技,微... 长期以来!微乐小程序黑科技,微乐春天扑克开挂辅助插件(透视)原来真的有挂(哔哩哔哩)1)微乐春天扑克...
第三分钟辅助!微乐小程序免费黑... 第三分钟辅助!微乐小程序免费黑科技,微乐小程序黑科技辅助工具2026最新推荐(开挂)切实真的是有挂(...
近日!微乐小程序免费黑科技,微... 近日!微乐小程序免费黑科技,微乐自建房透视(透视)竟然真的是有挂(哔哩哔哩)一、微乐小程序免费黑科技...
5分钟教程!微乐小程序黑科技,... 5分钟教程!微乐小程序黑科技,微乐贵阳捉鸡麻将挂软件(开挂)确实真的是有挂(2026)1、下载好微乐...