我的新 ASP.NET Core 8 Web API 中的 API 控制器使用 MediatR 将请求分派给处理程序。处理程序可能会抛出异常;当发生这种情况时,无论异常如何,控制器似乎都会返回通用状态 500。
.NET Core 中是否有内置的东西可以处理从
Exception
到 IActionResult
的基本映射,例如将 BadHttpRequestException
映射到 BadRequestResult
以及将 NotFoundException
映射到 NotFoundResult
?
我确实看到有一个
app.UseExceptionHandler
用于创建自定义内容,但我不确定这是否适用,并且如果已经有内置内容,我不想创建自定义内容。
没有用于将异常映射到特定 IActionResult 类型的内置方法。
UseExceptionHandler
适用且有效地处理此类映射和其他更多自定义需求。 https://learn.microsoft.com/en-us/aspnet/core/fundamentals/error-handling?view=aspnetcore-8.0
另一种方式是
Exception filters
,但没有UseExceptionHandler
那么灵活,所以更建议申请UseExceptionHandler
。