更改路由配置
本文关键字:配置 路由 | 更新日期: 2023-09-27 18:32:10
在 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);
}
我该怎么做?
可以使用属性路由来完成:
[Route("Persons/Get/{id:int}")]
public Person Get(int id)
{
....
}
[Route("Persons/Get/{inszNumber}")]
public Person Get(string inszNumber)
{
....
}
只需添加适当的属性(在这里我假设您的控制器名称是PersonsController
.在其他情况下,适当地更改它)到您的操作。
还要确保在默认路由声明之前RegisterRoutes
方法中有以下代码行:
routes.MapMvcAttributeRoutes();