.net core 3 , MVC , Using 'UseMvcWithDefaultRoute' to configure MVC is not supported while using Endpoint Routing

I found the solution, in the following official documentation "Migrate from ASP.NET Core 2.2 to 3.0":

Thre are 3 approaches:

  1. Disable endpoint Routing.
(add in Startup.cs)

services.AddMvc(option => option.EnableEndpointRouting = false)

OR

  1. Replace UseMvc or UseSignalR with UseEndpoints.

In my case, the result looked like that

  public class Startup
{
    
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();
    }

    
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseStaticFiles();
        app.UseRouting();
        app.UseCors();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllerRoute("default", "{controller=Home}/{action=Index}");
        });
        
    }
}

OR

  1. Use AddControllers() and UseEndpoints()
public class Startup
{
    
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllers();
    }

    
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseStaticFiles();
        app.UseRouting();
        app.UseCors();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllers();
        });
        
    }
}

This doesn't exist for ASP.NET Core 3 as you can see here it is only supported until 2.2.

You need to switch to app.UseMvc(); when registering full MVC pipeline.

For APIs you need to do the following

app.UseRouting();
app.UseEndpoints(builder => builder.MapControllers());