更改路由配置

本文关键字:配置 路由 | 更新日期: 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();