use*_*899 3 routing asp.net-web-api url-template
我有这条路线:
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}/{myparam}",
defaults: new { id = RouteParameter.Optional, myparam = RouteParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)
'id'应该是可选的,'myparam'应该是可选的,但如果'myparam'被设置,'id'不能是可选的.我该如何配置?
我猜你可能需要为此定义两条路线:
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
routes.MapHttpRoute(
name: "DefaultApiWithMyParam",
routeTemplate: "api/{controller}/{id}/{myparam}"
);
Run Code Online (Sandbox Code Playgroud)
第一个路由将匹配所有URL,无论它们是否包含ID,而第二个路径将匹配包含id和myparam值的URL.请注意,第二条路线中没有任何段是可选的.
| 归档时间: |
|
| 查看次数: |
3011 次 |
| 最近记录: |