ASP0004: No usar los resultados de la acción con controladores de ruta
Valor | |
---|---|
Identificador de la regla | ASP0004 |
Categoría | Uso |
La corrección es problemática o no problemática | Poco problemático |
Causa
Un delegado del controlador de ruta devuelve un valor que implementa IActionResult.
Descripción de la regla
Los puntos de conexión del controlador de rutas no admiten la ejecución de instancias de IActionResult
de MVC. Devolver un IActionResult
que no implementa IResult
da como resultado serializar la instancia de resultado en lugar de ejecutar el resultado.
app.MapGet("/todos/{id}", (int id) => new JsonResult(new Todo { .. }));
Cómo corregir infracciones
Para corregir una infracción de esta regla, asegúrese de que el controlador de rutas del punto de conexión devuelve un tipo IResult mediante los métodos de extensión de Results.
app.MapGet("/todos/{id}", (int id) => Results.Json(new Todo { .. }));
Cuándo suprimir las advertencias
No suprima las advertencias de esta regla. Devolver un IActionResult
que no implementa IResult
da como resultado serializar la instancia de resultado en lugar de ejecutar el resultado.