I want to change the URL that will access my controller, but when I do, instead of getting **controller/action/id**, I get **controller/action?id=**(the id number) in the URL.

I am using default routing in my MVC .Net Core.

```
 app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllerRoute(
                name: "default",
                pattern: "{controller=Home}/{action=Index}/{id?}");
        });

```

On my controller I have `[Route("DifferentName/{action=index}")]` for attribute routing.

I have tried adding `[Route("DifferentName/{action=index}/{id?}")]` 

but I get an exception "RoutePatternException: The route parameter name 'id' appears more than one time in the route template."