将处理程序抛出的异常映射到 ASP.NET Core 8 Web API 中的 IActionResults 的标准方法?

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

我的新 ASP.NET Core 8 Web API 中的 API 控制器使用 MediatR 将请求分派给处理程序。处理程序可能会抛出异常;当发生这种情况时,无论异常如何,控制器似乎都会返回通用状态 500。

.NET Core 中是否有内置的东西可以处理从

Exception
IActionResult
的基本映射,例如将
BadHttpRequestException
映射到
BadRequestResult
以及将
NotFoundException
映射到
NotFoundResult

我确实看到有一个

app.UseExceptionHandler
用于创建自定义内容,但我不确定这是否适用,并且如果已经有内置内容,我不想创建自定义内容。

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

没有用于将异常映射到特定 IActionResult 类型的内置方法。

UseExceptionHandler
适用且有效地处理此类映射和其他更多自定义需求。 https://learn.microsoft.com/en-us/aspnet/core/fundamentals/error-handling?view=aspnetcore-8.0

另一种方式是

Exception filters
,但没有
UseExceptionHandler
那么灵活,所以更建议申请
UseExceptionHandler

© www.soinside.com 2019 - 2024. All rights reserved.