title: Yet another ASP.Net WebAPI route not found
body: <p>First off I have read as many articles as I can find on this topic and installed several "route debug" plugins. I am more familiar with Java/Spring so I really have no idea how to debug this thing, using vs 2012. (I cannot anyway to make IISExpress print any debug much less the kind of the debug output I am used to with Spring/Tomcat.)</p>
  
  <pre><code>public class RouteConfig
  {
    public static void RegisterRoutes(RouteCollection routes)
    {
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}");  
  
      routes.MapRoute(
          name: "Default",
          url: "{controller}/{action}/{id}",
          defaults: new { controller = "Legal", 
            action = "Index", 
            id = UrlParameter.Optional }
      );
    }
  }
  </code></pre>
  
  <p>Now, I am able to hit the Index page via the default controller. However, I am trying to hit the URL /WebApi/Metadata/ based on the following controller:</p>
  
  <pre><code>[BreezeController]
  public class WebApiController : ApiController {
    private readonly EFContextProvider&lt;BankruptcyDbContext&gt; _contextProvider =
      new EFContextProvider&lt;BankruptcyDbContext&gt;();
  
    [HttpGet]
    public string Metadata() {
      return _contextProvider.Metadata();
    }
  }
  </code></pre>
  
  <p>The "Route Debugger" says that my requests for /WebApi/Metadata, /WebApi/Metadata/, /WebApi/Metadata/0, and more should "match" but all I get is 404.</p>
  
  <p>Edit1: I finally found the trace logs and got a little more detail:</p>
  
  <pre><code>The controller for path &amp;amp;#39;/WebApi/Metadata&amp;amp;#39; was not found or does not implement IController
  </code></pre>