我知道您可以在route属性中应用通配符以允许/例如日期输入:
[Route("orders/{*orderdate}")]
Run Code Online (Sandbox Code Playgroud)
通配符的问题仅适用于URI中的最后一个参数.如果要拥有以下URI,如何解决问题:
[Route("orders/{orderdate}/customers")]
Run Code Online (Sandbox Code Playgroud)
更新:
我知道通过重构代码来解决问题的选择很少,所以请不要提供类似的解决方案:
[Route("orders/customers/{orderdate}")]"dd-mm-yyyy")c# url asp.net-web-api attributerouting asp.net-web-api-routing
我正在使用Web API 2属性路由,我有一个未正确解决的请求.
[Route("~/foo/{bar?}")]
public void Get(string bar);
Run Code Online (Sandbox Code Playgroud)
我的要求是:mydomain.me/foo/abc/def
我希望收到bar作为"abc/def",但正斜线会使路线匹配.用"%2F"替换正斜杠并不能解决问题.