Partilhar via


ASP0003: Não use atributos de vinculação de modelo com manipuladores de rota

Valor
ID da regra ASP0003
Categoria Utilização
A correção é invasiva ou não invasiva Inquebrável

Motivo

Um delegado do manipulador de rotas inclui um parâmetro que tem um atributo [Bind].

Descrição da regra

Os pontos de extremidade do manipulador de rotas suportam apenas um subconjunto de atributos MVC, como [FromRoute], [FromBody], etc. Os atributos sem suporte são ignorados e resultam em um comportamento de vinculação inesperado. Por exemplo, o código a seguir resulta em um aviso do analisador:

app.MapGet("/todos/{id}", ([Bind] int id) => new Todo { Id = id });

Como corrigir violações

Para corrigir uma violação dessa regra, verifique se o ponto de extremidade usa um dos atributos de vinculação de modelo permitidos.

app.MapGet("/todos/{id}", ([FromRoute] int id) => new Todo { Id = id });

Quando suprimir avisos

Não suprimir um aviso desta regra. Uma configuração incorreta de vinculação de modelo pode resultar em um comportamento inesperado ao resolver parâmetros em tempo de execução.