ASPNETCoreAPI为什么在200响应中返回500内部服务器错误?
创始人
2024-09-20 08:01:02
0

这个问题通常是由于ASPNET Core API的配置问题导致的。如果API配置了中间件来处理异常,API将在200响应中返回错误消息而不是500错误。要解决这个问题,可以在Startup.cs文件中注册ExceptionHandler中间件来处理异常。下面是一个示例:

在ConfigureServices方法中添加以下代码:

services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

services.AddExceptionHandler(); //新增注册ExceptionHandler中间件

在Startup.cs文件中添加以下代码:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    app.UseExceptionHandler(); //注册ExceptionHandler中间件

    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseHsts();
    }

    app.UseHttpsRedirection();
    app.UseMvc();
}

然后在应用程序根目录添加ExceptionHandlerExtensions.cs,包含以下代码:

public static class ExceptionHandlerExtensions
{
    public static void UseExceptionHandler(this IApplicationBuilder app)
    {
        app.UseExceptionHandler(builder =>
        {
            builder.Run(async context =>
            {
                context.Response.StatusCode = (int) HttpStatusCode.InternalServerError;
                context.Response.ContentType = "application/json";

                var ex = context.Features.Get();
                if (ex != null)
                {
                    var err = JsonConvert.SerializeObject(new { error = ex.Error.Message });
                    await context.Response.WriteAsync(err);
                }
            });
        });
    }
}

通过注册ExceptionHandler中间件,API将在500错误响应中返回错误消息。

相关内容

热门资讯

透视科技!约局吧德州有挂吗(透... 透视科技!约局吧德州有挂吗(透视)插件教程(2022已更新)(哔哩哔哩);小薇(透视辅助)致您一封信...
透视辅助!竞技联盟透视插件(透... 透视辅助!竞技联盟透视插件(透视)wpk教程(2026已更新)(哔哩哔哩)1、用户打开应用后不用登录...
透视神器!aapoker怎么设... 透视神器!aapoker怎么设置抽水(透视)辅助(真是真的有挂)1、进入到aapoker怎么设置抽水...
透视辅助!xpoker辅助工具... 透视辅助!xpoker辅助工具(透视)第三方教程(2022已更新)(哔哩哔哩)1、不需要AI权限,帮...
透视模拟器!aapoker a... 透视模拟器!aapoker ai插件(透视)透视软件(一贯存在有挂);1、构建自己的aapoker ...
透视存在!pokemmo手机版... 透视存在!pokemmo手机版透视脚本(透视)透牌教程(2025已更新)(哔哩哔哩);1、进入游戏-...
透视脚本!约局吧德州真的存在透... 透视脚本!约局吧德州真的存在透视吗(透视)必备教程(2026已更新)(哔哩哔哩)1、约局吧德州真的存...
透视了解!aapoker透视方... 透视了解!aapoker透视方法(透视)真的假的(都是是真的有挂)1、全新机制【aapoker透视方...
透视讲解!pokemmo辅助官... 透视讲解!pokemmo辅助官网(透视)普及教程(2022已更新)(哔哩哔哩)小薇(透视辅助)致您一...
透视神器!aapoker万能辅... 透视神器!aapoker万能辅助器(透视)ai插件(竟然是有挂);1、这是跨平台的aapoker万能...