C# ASP.NET Core 3.0终结点路由不工作,找不到获取404

C# ASP.NET Core 3.0终结点路由不工作,找不到获取404,c#,asp.net-core,routing,C#,Asp.net Core,Routing,我的端点路由在我的asp.net core 3.0 Api中不起作用。我见过类似的问题,但我仍然不确定这里缺少什么 我在Startup.cs中有以下内容 { public void ConfigureServices(IServiceCollection services) { services.AddOptions(); services.AddControllers() .S

我的端点路由在我的asp.net core 3.0 Api中不起作用。我见过类似的问题,但我仍然不确定这里缺少什么

我在
Startup.cs中有以下内容

   {
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddOptions();
            services.AddControllers()
                .SetCompatibilityVersion(CompatibilityVersion.Version_3_0)
                .AddNewtonsoftJson(options =>
                {
                    options.SerializerSettings.Formatting = Formatting.Indented;
                    options.SerializerSettings.Converters.Add(
                        new Newtonsoft.Json.Converters.StringEnumConverter());
                });        
        }


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

            app.UseRouting();
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    "test",
                    "api/v1.0/{controller}/{id?}");
            });
        }            
}
我的
Ping控制器
看起来像:

 public class PingController : ControllerBase
    {
        public IActionResult Get()
        {
            return Ok(true);
        }
    } 
导航到/api/v1.0/Ping将返回未找到的404页


我错过了什么?我还看到MS建议对Web API进行属性路由,但首先想弄清楚为什么这不起作用。

@rfcdejong是正确的,它缺少
{action}
标记。 以下更正修复了该问题

endpoints.MapControllerRoute( "test", "api/v1.0/{controller}/{action=Get}/{id?}");

我认为您在映射中缺少一个操作。MapControllerOute(“测试”,“api/v1.0/{controller}/{action=Get}/{id?}”);