ASP0003: Nie używaj atrybutów powiązania modelu z procedurami obsługi tras
Wartość | |
---|---|
Identyfikator reguły | ASP0003 |
Kategoria | Użycie |
Poprawka powodująca niezgodność lub niezgodność | Niezgodność |
Przyczyna
Delegat obsługi tras zawiera parametr, który ma [Bind]
atrybut.
Opis reguły
Punkty końcowe obsługi tras obsługują tylko podzestaw atrybutów MVC, takich jak [FromRoute]
, [FromBody]
itp. Nieobsługiwane atrybuty są ignorowane i powodują nieoczekiwane zachowanie powiązania. Na przykład następujący kod powoduje ostrzeżenie analizatora:
app.MapGet("/todos/{id}", ([Bind] int id) => new Todo { Id = id });
Jak naprawić naruszenia
Aby naprawić naruszenie tej reguły, upewnij się, że punkt końcowy używa jednego z dozwolonych atrybutów powiązania modelu.
app.MapGet("/todos/{id}", ([FromRoute] int id) => new Todo { Id = id });
Kiedy pomijać ostrzeżenia
Nie pomijaj ostrzeżenia z tej reguły. Nieprawidłowa konfiguracja powiązania modelu może spowodować nieoczekiwane zachowanie podczas rozpoznawania parametrów w czasie wykonywania.