title: How to modify ASP NET Web API Route matching to allow parameters with slashes inside?
body: <p>We're using RavenDB on the backend and so all the DB keys are strings that contain forward slashes e.g. <code>users/1</code>. </p>
  
  <p>AFAIK there's no way to use the default ASP NET Web API route matching engine to match a parameter like this, without using a catch-all which means the key must be the last thing on the URL. I tried adding a regex constraint of <code>users/d+</code> but it didn't seem to make a difference, the route wasn't matched.</p>
  
  <p>What bits would I have to replace to do just enough custom route matching to allow this, preferably without crippling the rest of the route matching. For example, using <code>url: "{*route}"</code> and a custom constraint that did full regex matching would work but may work unexpectedly with other route configurations.</p>
  
  <p>If your answer comes with some sample code, so much the better.</p>