1

我的 Web API 2 项目中有一个消息处理程序,它将 url 更改为不同的路径。比如 url"root/controller/somevalue/detials"会改成"root/controller/2/details". 其中“somevalue”或 2 是操作方法的参数。

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

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

这里发生了什么?

4

1 回答 1

0

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

Route["details/{somevalue}"]
public IHttpActionResult MyCustiomApiMethod(string somevalue)
{
    //return 
}
于 2017-01-21T07:32:15.033 回答