在RouteConfig文件中,我看到:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
然后在我的控制器中映射到
public Person Get(int id)
{
return _personService.GetPersoonByInszNumber("11111111111");
}
现在我想更改它,以便映射到以下内容:
public Person Get(string inszNumber)
{
return _personService.GetPersoonByInszNumber(inszNumber);
}
我该怎么做?
答案 0 :(得分:1)
可以使用attrubute routing:
完成[Route("Persons/Get/{id:int}")]
public Person Get(int id)
{
....
}
[Route("Persons/Get/{inszNumber}")]
public Person Get(string inszNumber)
{
....
}
只需添加适当的属性(此处我假设您的控制器名称为PersonsController
。在其他情况下,将其更改为适合您的操作。
还要确保在默认路由声明之前的RegisterRoutes
方法中有这行代码:
routes.MapMvcAttributeRoutes();