Based on your information, it looks like you are not calling the httpConfig.MapHttpAttributeRoutes()
(Make sure to call this before any traditional routing registrations)
Since you haven't called MapHttpAttributeRoutes, your request seems to be matching a traditional route, for example, like api/{controller}
. This will not work because routes matching traditional routes will never see controllers/actions decorated with attribute routes.