Compartilhar via


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

Value
ID da regra ASP0003
Categoria Usage
Correção é disruptiva ou não disruptiva Non-breaking

Motivo

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

Descrição da regra

Os pontos de extremidade do manipulador de rota 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 suprimir um aviso desta regra. Uma configuração de associação de modelo incorreta pode resultar em um comportamento inesperado ao resolver parâmetros em runtime.