[Refactoring] Provide toggle between [FromX] and implicit attributes
- Dominant language
- C#
- Stars
- 38.4k
- Forks
- 10.9k
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 281
Description
This infers [FromQuery] so the attribute isn't required.
```C#
app.MapGet("/todos", ([FromQuery]int pageIndex, [FromQuery] int pageSize) =>
{
return db.GetTodos().Take(pageIndex).Skip(pageSize);
});
```
Query string is inferred when the parameter names don't appear in the route. We would only suggest this when we can see literal strings for route patterns (where we can tell what the route parameters are).
```C#
app.MapGet("/todos", (int pageIndex, int pageSize) =>
{
return db.GetTodos().Take(pageIndex).Skip(pageSize);
});
```
This should also work for [FromRoute] attributes:
```C#
app.MapGet("/todos/{pageIndex}/{pageSize}", ([FromRoute]int pageIndex, [FromQuery] int pageSize) =>
{
return db.GetTodos().Take(pageIndex).Skip(pageSize);
});
```
The [FromRoute] isn't necessary:
```C#
app.MapGet("/todos/{pageIndex}/{pageSize}", (int pageIndex, int pageSize) =>
{
return db.GetTodos().Take(pageIndex).Skip(pageSize);
});
Contributor guide
Assessment
This issue has not been assessed yet.