ASP.NET Core WebAPI默认路由不起作用

时间:2017-06-23 14:29:20

标签: asp.net-core asp.net-core-webapi

我已经按照几个示例建议在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

出了什么问题?

3 个答案:

答案 0 :(得分:28)

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

右键点击您的网络项目 - >选择属性 - >选择左侧的Debug选项卡 - >然后编辑“启动网址”'字段来设置您自己的默认启动网址。

Properties Pane of the project

答案 1 :(得分:3)

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

enter image description here

答案 2 :(得分:0)

请遵循以下步骤。

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

using Microsoft.AspNetCore.Mvc;

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

    }
}

并在API控制器中继承基类:

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

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