如何在 .Net Core 中返回错误状态代码 401 的自定义错误消息?
Posted
技术标签:
【中文标题】如何在 .Net Core 中返回错误状态代码 401 的自定义错误消息?【英文标题】:How can I return custom error message for error status code 401 in .Net Core? 【发布时间】:2020-05-29 22:07:14 【问题描述】:请帮助我在 .Net Core WebApi 中显示错误状态代码 401 的自定义错误消息。
【问题讨论】:
这能回答你的问题吗? How to return a specific status code and no contents from Controller? 整个 API 或特定操作都需要它吗? 【参考方案1】:ASP Core 文档解释了如何处理自定义错误响应:
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();
【讨论】:
以上是关于如何在 .Net Core 中返回错误状态代码 401 的自定义错误消息?的主要内容,如果未能解决你的问题,请参考以下文章
如何反序列化 422 无法处理的实体错误模型并将错误绑定到 asp.net core razor pages 模型状态
如何在 asp.net core 2.1 中使用自定义消息设置状态代码?
ASP.Net Core 2 错误处理:如何在 Http Response 中返回格式化的异常详细信息?
ASP.Net Core 2.0 - 如何从中间件返回自定义 json 或 xml 响应?
当 url 响应状态代码为 400 时如何使用 C# .Net Core 5 Blazor 服务器端应用程序中的中间件重定向到主页