title: Swagger not working with custom route in Web API 2
body: <p>I am developing a WEB API in .NET, and I want to document this with swagger. My default route is:</p>
  
  <pre><code> config.Routes.MapHttpRoute(
                  name: "DefaultApi",
                  routeTemplate: "{controller}/{action}/{id}",
                  defaults: new { id = RouteParameter.Optional }
              );
  </code></pre>
  
  <p>But it is giving me this error when I try to access localhost:55800/swagger:</p>
  
  <pre><code>{
    "$id": "1",
    "message": "No HTTP resource was found that matches the request URI 'http://localhost:55800/swagger/ui/index'.",
    "messageDetail": "No type was found that matches the controller named 'swagger'."
  }
  </code></pre>
  
  <p>I've changed the swagger's route with this command: </p>
  
  <pre><code>config.EnableSwaggerUi("apihelp/{*assetPath}", c =&gt; 
      ... // following lines omitted
  </code></pre>
  
  <p>But I still cannot remove "api" prefix from my routeTemplate in the MapHttpRoute method.</p>
  
  <p>How can I make it recognize the route without this "api" prefix on MapHttpRoute?</p>