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

How can I return custom error message for error status code 401 in .Net Core?

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

ASP 核心文档解释了如何处理自定义错误响应:

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

对于您的情况,您可以在启动 Configure 方法中尝试 app.UseStatusCodePages(添加对 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();
}