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.