【发布时间】:2017-10-23 15:15:32
【问题描述】:
这是我的路线配置:
config.Routes.MapHttpRoute(
name: "Public",
routeTemplate: "{dept}/{unit}/",
defaults: new
{
controller = "Home",
action = "Index"
},
constraints: new { constraint = new MyConstraint() }
);
当我输入网址时:
mysite.com/XYZ/123
然后我的约束类被触发
但是当我使用时:
mysite.com/XYZ/123/ 附加斜线不会触发约束类。
我使用 Web Api 2。
在 routeTemplate 中,我可以在末尾使用“/”,也可以不使用。
为什么它不起作用?
更新
public class HomeController : ApiController
{
[HttpGet]
public HttpResponseMessage Index()
{
}
}
【问题讨论】:
-
你也可以展示一下你的控制器吗?
-
我用信息更新了我的问题。
-
我已经复制了您的控制器和路由模板(约束除外),我没有遇到您的问题。它必须是约束。你能分享一下你正在使用的确切路径吗?
-
你说的路径是什么?我使用的测试网址发布在上面:-)
-
好吧,您使用“/XYZ/123”映射到家庭控制器似乎很奇怪。可以显示约束代码吗?
标签: asp.net asp.net-web-api asp.net-web-api2 asp.net-web-api-routing