ASP.NET Core MVC Interview Question #78
What is the difference between an optional route parameter and a default route value?
Advanced Routing, Filters, Areas & Application Structure Mid-Level Intermediate
Quick Interview Answer
An optional route parameter uses ? to indicate that the URL segment may be absent. A default route value supplies a value when a route segment is not present.
Detailed Explanation
An optional route parameter uses ? to indicate that the URL segment may be absent. A default route value supplies a value when a route segment is not present.
For example, {id?} makes id optional, while {controller=Home} gives controller the default value Home. Both affect route matching and URL generation, but they solve different problems.
Code Example
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");