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错误响应中返回错误消息。

相关内容

热门资讯

透视软件!hhpoker作弊码... 透视软件!hhpoker作弊码(透视)本来有挂(详细辅助总结教程)亲,关键说明,赛季回归,软件透明挂...
透视中牌率!悦扑克脚本(透视)... 透视中牌率!悦扑克脚本(透视)确实是真的有挂(详细辅助详细教程)1、玩家可以在软件透明挂俱乐部对游戏...
透视辅助!aapoker透视脚... 透视辅助!aapoker透视脚本(透视)原来是有挂(详细辅助黑科技教程);1、玩家可以在aapoke...
透视能赢!hhpoker透视工... 透视能赢!hhpoker透视工具(透视)果然存在有挂(详细辅助专业教程)所有人都在同一条线上,像星星...
透视系统!wepoker能不能... 透视系统!wepoker能不能透视(透视)都是真的是有挂(详细辅助攻略方法);1、金币登录送、破产送...
透视攻略!德普之星辅助器怎么用... 透视攻略!德普之星辅助器怎么用(透视)都是真的是有挂(详细辅助2025新版教程)1)德普之星辅助器辅...
透视黑科技!wepoker私人... 透视黑科技!wepoker私人局开挂视频(透视)切实是真的有挂(详细辅助扑克教程)在进入辅助挂后,参...
透视ai!hhpoker可以控... 透视ai!hhpoker可以控制吗(透视)果然真的有挂(详细辅助透明教程)1)辅助挂:进一步探索辅助...
透视挂!wepoker底牌透视... 透视挂!wepoker底牌透视(透视)切实真的有挂(详细辅助必胜教程)1、每一步都需要思考,不同水平...
透视有挂!hhpoker作弊码... 透视有挂!hhpoker作弊码怎么用(透视)果然是真的有挂(详细辅助插件教程);1、进入到黑科技之后...