ASP0004. Не используйте результаты действий с обработчиками маршрутов
Значение | |
---|---|
Идентификатор правила | ASP0004 |
Категория | Использование |
Исправление является критическим или не критическим | Не критическое |
Причина
Делегат обработчика маршрутов возвращает значение, реализующее IActionResult.
Описание правила
Конечные точки обработчика маршрутов не поддерживают выполнение экземпляров MVC IActionResult
. Возвращая результат IActionResult
, который не реализует IResult
результаты сериализации экземпляра результата, а не выполнения результата.
app.MapGet("/todos/{id}", (int id) => new JsonResult(new Todo { .. }));
Устранение нарушений
Чтобы устранить нарушение этого правила, убедитесь, что обработчик маршрутов конечной точки возвращает IResult тип с помощью Results методов расширения.
app.MapGet("/todos/{id}", (int id) => Results.Json(new Todo { .. }));
Когда лучше отключить предупреждения
Не подавляйте предупреждение из этого правила. Возвращая результат IActionResult
, который не реализует IResult
результаты сериализации экземпляра результата, а не выполнения результата.
ASP.NET Core