Is there any difference between:
app.MapGroup("")
vs app.MapGroup("/")
app.MapGet("task")
vs app.MapGet("/task")
When I did tests, they looked no different. Just want to confirm. If they are the same, why do we add the "/"?
Always take an initiative and dive in the source code =). When you have a challenge or need to understand why something works some way.
The difference is that if you append a "/" for anything calling MapMethods i.e MapGroup
,MapGet
, MapPost
,MapPatch
...etc.It will be trimmed.
The RoutePatternFactoryClass will trim it under the hood i.e the first "/" or these two characters "~/" (with RoutePatternParser under method TrimPrefix()
) the resultant string will be taken as the route pattern.
why do we add the "/"?
I would guess majorly because of the templates we just adopt it not questioning why? ,from examining source I see this will be an overhead (though minimal and trivial), I would just skip those characters and put my intended path i.e .MapGet("task")
.