具有不同参数名称的AspNet Core MVC路由

时间:2019-01-25 18:05:07

标签: c# asp.net-mvc asp.net-core url-routing

因此,我在Startup.cs中定义了一条默认路由,如下所示:

app.UseMvc(routes =>
{
    routes.MapRoute(
        "default",
        "{controller=Home}/{action=Index}/{id?}");
    routes.MapRoute(
        "api",
        "Api/{controller=Home}/{action=Index}/{id?}");
});

我正在尝试扩展默认路由以映射到不使用id作为参数名称的操作中。

例如,我有如下方法:

public async Task<IActionResult) Edit(UserRequest request) 
{
    // do stuff
}

以前,我们只是使用id进行此调用,但此后我们扩展了安全性并构建了一些自定义ActionFilters来在后台进行验证。我已经建立了一个自定义模型绑定程序,如果我们将UserRequest参数名保留为id的话,它可以很好地工作,但是一旦将其更改为其他任何名称,路由就无法正确映射它,相反,我们只是得到一个空值。

我将如何修改默认路由以允许多个不同的参数名称,而不只是id

0 个答案:

没有答案