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



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

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

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

这是怎么回事?

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

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

相关内容

  • 没有找到相关文章

最新更新