| 价值 | |
|---|---|
| 规则 ID | ASP0004 |
| 类别 | Usage |
| 修复是中断修复还是非中断修复 | Non-breaking |
原因
路由处理程序委托返回实现 IActionResult 的值。
规则说明
路由处理程序终结点不支持执行 MVC 的 IActionResult 实例。 返回一个不实现 IResult 的 IActionResult 会导致对结果实例进行序列化,而不是执行该结果。
app.MapGet("/todos/{id}", (int id) => new JsonResult(new Todo { .. }));
如何修复违规行为
若要修复这条规则的违规,请确保终结点的路由处理器通过使用Results扩展方法,返回IResult类型。
app.MapGet("/todos/{id}", (int id) => Results.Json(new Todo { .. }));
何时禁止显示警告
不要禁止显示此规则的警告。 返回一个不实现IResult的IActionResult实例将导致对结果实例进行序列化,而不是其执行。