ASP.NET 核心 WebAPI 默认路由不工作

ASP.NET Core WebAPI default route not working

我遵循了几个建议要在 ASP.NET Core WebAPI 项目中设置我的默认路由,我需要替换

app.UseMvc();

app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "default",
        template: "{controller}/{action}",
        defaults: new { controller = "Traders", action = "Get" });
});

但是当我 运行 它默认为 localhost:54321/api/values 并且它应该默认为 localhost:54321/Traders

怎么了?

如@tmg 所述,执行以下操作:

右键单击您的 Web 项目 -> Select 属性 -> Select 左侧的调试选项卡 -> 然后编辑 'Launch Url' 字段以设置您自己的默认启动 url.

您可以通过修改 LaunchSettings.json 文件来更改默认路由,如图所示

按照以下步骤操作。

为您的 API 创建一个扩展 dotnet 核心的基本控制器的基本控制器:

using Microsoft.AspNetCore.Mvc;

namespace WebApi.Controllers
{
    [Route("api/[controller]")]
    public abstract class ControllerApiBase : Controller
    {

    }
}

并在您的 API 控制器中继承基础 class:

using Microsoft.AspNetCore.Mvc;
using WebApi.Dtos;

namespace WebApi.Controllers
{
    public class PingController : ControllerApiBase
    {
        public PingDto Get()
        {
            return new PingDto
            {
                Version = "0.0.0"
            };
        }
    }
}