ASP0004:不要将操作结果与路由处理程序一起使用
值 | |
---|---|
规则 ID | ASP0004 |
类别 | 使用情况 |
修复是中断修复还是非中断修复 | 非中断 |
原因
路由处理程序委托返回实现 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
将导致序列化结果实例而不是执行结果。