title: Is there a default verb applied to a Web API ApiController method?
body: <p>I've been looking at the code (in <a href="https://github.com/patelsan/WebAPIAuthentication">https://github.com/patelsan/WebAPIAuthentication</a>) from this article: <a href="http://www.codeproject.com/Articles/630986/Cross-Platform-Authentication-With-ASP-NET-Web-API">http://www.codeproject.com/Articles/630986/Cross-Platform-Authentication-With-ASP-NET-Web-API</a>.</p>
  
  <p>It's pretty good and seems to work fine. There are very few articles that explain this kind of token authentication, but this is the best I've seen. Note that I'm new to this technology and there's much to learn.</p>
  
  <p>So, I noticed that the UsersController has this code:</p>
  
  <pre><code>public class UsersController : ApiController
  {
      public Status Authenticate(User user)
      {
          . . .
      }
  }
  </code></pre>
  
  <p>The <code>Authenticate</code> method doesn't start with a known HTTP verb, e.g. Get or Post, and there's no [HttpGet] or [HttpPost] attribute associated with this method, so how does the controller know with which verb to associate this method? Just by looking at the code, how can I tell which verb I need to use? Is there such a thing as a "default" verb if nothing matches?</p>
  
  <p>By the way, in case you're wondering, the only verb that works is POST. I'd love to understand why that is the case.</p>