因此,我在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
?