ASP0003: Do not use model binding attributes with route handlers
Value | |
---|---|
Rule ID | ASP0003 |
Category | Usage |
Fix is breaking or non-breaking | Non-breaking |
Cause
A route handler delegate includes a parameter that has a [Bind]
attribute.
Rule description
Route handler endpoints only support a subset of MVC attributes such as [FromRoute]
, [FromBody]
, etc. Unsupported attributes are ignored and result in unexpected binding behavior. For example, the following code results in an analyzer warning:
app.MapGet("/todos/{id}", ([Bind] int id) => new Todo { Id = id });
How to fix violations
To fix a violation of this rule, make sure that the endpoint uses one of the allowed model binding attributes.
app.MapGet("/todos/{id}", ([FromRoute] int id) => new Todo { Id = id });
When to suppress warnings
Do not suppress a warning from this rule. An incorrect model binding setup can result in unexpected behavior when resolving parameters at runtime.
Bendradarbiaukite su mumis dirbdami „GitHub“
Šio turinio šaltinį galima rasti „GitHub“, kur taip pat galite kurti ir peržiūrėti problemas bei teikti užklausas. Daugiau informacijos žr. mūsų bendraautorių vadove.