繁体   English   中英

具有基于属性的路由的自定义消息处理程序不适用于Web API 2

[英]Custom message handler with attribute based routing is not working for Web API 2

我的Web API 2项目中有一个Message Handler,它将url更改为不同的路径。 如url "root/controller/somevalue/detials"将更改为"root/controller/2/details" 其中“somevalue”或2是action方法的参数。

我在调用config.MapHttpAttributeRoutes();之前放置了消息处理程序注册码config.MapHttpAttributeRoutes(); 消息处理程序注册为config.MessageHandlers.Add(new MyHandler());

对于正常的路由映射,它工作正常。 但是,如果我启用基于属性的路由,则调用消息处理程序并更改URL,但是使用相同的“somevalue”而非“2”命中action方法。

这里发生了什么?

如果您正在使用RouteAttribute ,那么您可以使用这样的Route值来捕获某些值:

Route["details/{somevalue}"]
public IHttpActionResult MyCustiomApiMethod(string somevalue)
{
    //return 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM