ASP0004:請勿使用動作結果搭配路由處理常式
值 | |
---|---|
規則識別碼 | 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
,會導致序列化結果執行個體,而不是執行結果。