Поделиться через


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 результаты сериализации экземпляра результата, а не выполнения результата.