I'm almost done adding compatibility to WebAPI for AttributeRouting. I ran into a snag last night and was hoping it'd be an easy fix:
https://github.com/kamranayub/AttributeRouting/blob/web-api/src/AttributeRouting.WebApi/Framework/AttributeRoute.cs#L122
Attribute Routing overrides GetVirtualPath and in the MVC project, sets the VirtualPath. That line was failing in WebApi because its setter isn't public. I think I might be able to simply new up a concrete HttpVirtualPathData but I haven't tried.
If I can't work around it, I will submit a pull request (after testing it).