title: ASP.NET Web API controller with attribute routing doesn't work without a route name
body: <p>I use <strong>attribute routing</strong>, but when I specify an empty <code>Route</code> attribute I get the following error:</p>
  
  <blockquote>
    <p>405.0 - Method Not Allowed</p>
  </blockquote>
  
  <p>However, if I add a route name in the attribute, like <code>[Route("bar")]</code>, everything works as expected.</p>
  
  <p>Why would one of these action methods work as expected, while the other one yields a <strong>405</strong> error?</p>
  
  <pre><code>[System.Web.Http.RoutePrefix("foo")]
  public partial class MyController : ApiController
  {
     [System.Web.Http.HttpPost]
     [System.Web.Http.Route("bar")] // I am able to POST to /foo/bar
     public async Task&lt;MyResponseModel&gt; BarMethod([FromBody]MyArgumentsModel arguments)
     {
  
     }
  
     [System.Web.Http.HttpPost]
     [System.Web.Http.Route] // Error when I POST to /foo, "Method Not Allowed"
     public async Task&lt;MyResponseModel&gt; FooMethod([FromBody]MyArgumentsModel arguments)
     {
  
     }
  }
  </code></pre>
  
  <p>Any ideas what I could be missing?</p>