ASP0003: non usare attributi di associazione di modelli con gestori di route
Valore | |
---|---|
ID regola | ASP0003 |
Categoria | Utilizzo |
Correzione che causa un'interruzione o un'interruzione | Nessuna interruzione |
Causa
Un delegato del gestore di route include un parametro con un [Bind]
attributo .
Descrizione regola
Gli endpoint del gestore di route supportano solo un subset di attributi MVC, ad [FromRoute]
esempio , [FromBody]
e così via. Gli attributi non supportati vengono ignorati e comportano un comportamento di associazione imprevisto. Ad esempio, il codice seguente genera un avviso dell'analizzatore:
app.MapGet("/todos/{id}", ([Bind] int id) => new Todo { Id = id });
Come correggere le violazioni
Per correggere una violazione di questa regola, assicurarsi che l'endpoint usi uno degli attributi di associazione di modelli consentiti.
app.MapGet("/todos/{id}", ([FromRoute] int id) => new Todo { Id = id });
Quando eliminare gli avvisi
Non eliminare un avviso da questa regola. Un'installazione dell'associazione di modelli non corretta può comportare un comportamento imprevisto durante la risoluzione dei parametri in fase di esecuzione.