Share via


ASP0004: não usar resultados de ação com manipuladores de rota

Valor
ID da regra ASP0004
Categoria Uso
Correção interruptiva ou sem interrupção Sem interrupção

Causa

Um delegado do manipulador de rotas retorna um valor que implementa IActionResult.

Descrição da regra

Os pontos de extremidade do manipulador de rotas não dão suporte à execução de instâncias do IActionResult MVC. Retornar um IActionResult que não implementa resulta IResult na serialização da instância de resultado em vez de executar o resultado.

app.MapGet("/todos/{id}", (int id) => new JsonResult(new Todo { .. }));

Como corrigir violações

Para corrigir uma violação dessa regra, verifique se o manipulador de rotas do ponto de extremidade retorna um IResult tipo usando os Results métodos de extensão.

app.MapGet("/todos/{id}", (int id) => Results.Json(new Todo { .. }));

Quando suprimir avisos

Não suprima um aviso nessa regra. Retornar um IActionResult que não implementa resulta IResult na serialização da instância de resultado em vez de executar o resultado.