Share via


ASP0003: não use atributos de associação de modelo com manipuladores de rota

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

Causa

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 dão suporte apenas a um subconjunto de atributos MVC, como [FromRoute], [FromBody], etc. Atributos sem suporte são ignorados e resultam em um comportamento de associaçã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 associação de modelo permitidos.

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

Quando suprimir avisos

Não suprima um aviso nessa regra. Uma configuração de associação de modelo incorreta pode resultar em um comportamento inesperado ao resolver parâmetros em runtime.