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"
};
}
}
}
我遵循了几个建议要在 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"
};
}
}
}