首页 新闻 会员 周边 捐助

如何让 ASP.NET Core Web API 在 500 错误时返回具体的异常信息

0
悬赏园豆:30 [已解决问题] 解决于 2019-10-14 21:53

默认情况下 ASP.NET Core Web API 仅返回 500 状态码,如何返回具体的异常信息?

HTTP/1.1 500 Internal Server Error
Date: Mon, 14 Oct 2019 12:25:15 GMT
Server: Kestrel
Content-Length: 0

用的是 ASP.NET Core 3.0

dudu的主页 dudu | 高人七级 | 园豆:30948
提问于:2019-10-14 20:27
< >
分享
最佳答案
0

通过 Opw.HttpExceptions.AspNetCore 搞定了。

1)安装 nuget 包 Opw.HttpExceptions.AspNetCore

<PackageReference Include="Opw.HttpExceptions.AspNetCore" Version="2.3.0" />

2)Startup.ConfigureServices 中添加 AddHttpExceptions

services.AddControllers().AddHttpExceptions();

3)Startup.Configure 中添加 UseHttpExceptions

app.UseHttpExceptions();

示例响应输出

{"type":"error:invalid-cast","title":"InvalidCast","status":500,"detail":"Invalid cast from \u0027System.Int32\u0027 to \u0027Cnblogs.Infrastructure.Primitives.PostConfig\u0027.","instance":"/zzkdocuments"}
dudu | 高人七级 |园豆:30948 | 2019-10-14 21:53

发现一个问题,使用 Opw.HttpExceptions.AspNetCore 后,异常不会被记录到日志

dudu | 园豆:30948 (高人七级) | 2019-10-14 22:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册