如何为.Net Core中的错误状态代码401返回自定义错误消息?

问题描述 投票:0回答:1

[请帮助我为.Net Core WebApi中的错误状态代码401显示自定义错误消息。

asp.net-core asp.net-core-webapi asp.net-core-2.1 asp.net-core-webapi-2.1
1个回答
0
投票

ASP Core文档介绍了如何处理自定义错误响应:

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/error-handling?view=aspnetcore-3.1#usestatuscodepages

根据您的情况,您可以在启动app.UseStatusCodePages方法中尝试Configure(向Microsoft.AspNetCore.Http添加引用)

if (env.IsDevelopment())
{
    app.UseDeveloperExceptionPage();
}
else
{
    app.UseHsts();
}
app.UseStatusCodePages(async context =>
{
    if (context.HttpContext.Response.StatusCode == 401)
    {
        await context.HttpContext.Response.WriteAsync("Custom Unauthorized request");
    }
});
//other middlewars

动作:

[HttpGet]
public ActionResult Get()
{
   return Unauthorized();
}
© www.soinside.com 2019 - 2024. All rights reserved.