title: RoutePrefix vs Route
body: <p>I understand that <code>RoutePrefix</code> doesn't add a route to the routing table by itself. On your actions you need to have a <code>Route</code> attribute declared. I am having a hard time finding an authoritative blog/msdn page/ something that states why by defalut <code>RoutePrefix</code> doesn't add a route to the routing table.</p>
  <p>Does anyone have an authoritative post that does contain this to be the case, and if so will you let me know whom it is. Thank you very much.</p>
  <p><em><strong>Edit</strong></em>
  To Clarify my question</p>
  <p>DOESN'T WORK</p>
  <pre><code>[RoutePrefix(&quot;api/Steve&quot;)]
  public class SteveController : ApiController
  {
      public int get(){return 1000000;}
  }
  </code></pre>
  <p>Works</p>
  <pre><code>[RoutePrefix(&quot;api/Steve&quot;)]
  public class SteveController : ApiController
  {
      [Route(&quot;&quot;)]
      public int get(){return 1000000;}
  }
  </code></pre>
  <p>The above scenario works because we explicitly stated that the <code>get</code> action on the <code>SteveController</code> has an empty route. Once we do that the route is added to the <code>RouteTable</code></p>
  <p>The first scenario doesn't work, because just using <code>RoutePrefix</code> doesn't add anything to the route table. <code>RoutePrefix</code> by itself will not generate a route.
  This seems to be common knowledge, <strong>I want to find a trusted source, like official Microsoft documentation, that states why this is.</strong></p>