【问题标题】:Greedy segment with .NET MVC 5 Attribute Routing.NET MVC 5 属性路由的贪婪段
【发布时间】:2015-07-15 11:22:36
【问题描述】:

我想定义如下路线-

[Route("clients/{*code}/{id:guid}/update")]
public ActionResult Update(string code, Guid id)
{
}

代码类似于“foo/bar/xyz”。

不幸的是,开箱即用的 MVC 不支持 Route 定义中间的贪婪参数。

这以前是 solved 使用旧的 MVC 路由约定,但是我希望将其作为 RouteAtribute 定义。

【问题讨论】:

  • clients/{id:guid}/update/{*code} 的路径是否可以接受?
  • @DaveAlperovich 很遗憾没有,因为那将在网址的末尾。路由中间需要支持一个贪心参数。
  • 我不认为该模式可以用路由属性实现

标签: asp.net-mvc asp.net-mvc-5 attributerouting


【解决方案1】:

据我所知,你不能直接这样做。但是,您应该能够使用 IIS 模块 UrlRewrite 并将中间带有贪婪参数的查询重写为末尾带有贪婪参数的查询。

所以一个客户查询:clients/{*code}/{id:guid}/update 你的 web api 会看到 clients/{id:guid}/update/{*code}

【讨论】:

    【解决方案2】:

    据我所知,除了使用this example 之类的自定义代码之外,没有开箱即用的方法可以做到这一点。希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2010-12-25
      • 1970-01-01
      • 2016-11-01
      • 2013-10-28
      • 1970-01-01
      • 2014-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多