【发布时间】:2020-09-01 01:40:22
【问题描述】:
我目前正在.NET Core 3 中开发一个 web api。我目前有以下模型用于我的错误响应对象:
public class ErrorRo
{
public string Message { get; set; }
public int StatusCode { get; set; }
public string Endpoint { get; set; }
public string Parameters { get; set; }
public string IpAddress { get; set; }
}
这是我需要实施的强制性回应,管理层已推动这一点。它允许人们访问我们的 API 时获得更详细的错误消息,以便他们知道出了什么问题。
目前我正在方法本身中手动填充此对象。有没有办法可以覆盖响应方法。 IE。我可以覆盖IActionResult 的BadRequest 以自动填充这些字段吗?
谢谢!
【问题讨论】:
-
有很多可能的方法来实现这一点。一个自定义的middleware,Action Filters,一个简单的静态方法手动调用响应...
-
你应该看看 ActionFilters/ResultFilters。这可能取决于您使用什么信息来填充所说的 dto。虽然可能创建一个具有新 OurBadRequest 方法的新控制器子类并改为调用它会更容易