title: ASP.NET Web API action routing doesn't not work
body: <p>I'm new to Web API, I know one of the difference between web api and MVC
  is that web API uses HTTP method to choose which method to invoke by convention.</p>
  
  <blockquote>
    <p>Now I added an action parameter into my route,
    I think there's something went wrong to my knowledge,
    the route doesn't work.</p>
  </blockquote>
  
  <p>Here's my controller, main problem is that I just need to map the <strong>SignIn</strong> and <strong>SignUp</strong> method.
  (Other RestFul methods work fine.)</p>
  
  <pre><code>public class UsersController : ApiController
  {
      private Model1Container db = new Model1Container();
  
      public IEnumerable&lt;User&gt; GetUsers()
      {
          return db.UserSet;
      }
  
      [HttpPost]
      public IHttpActionResult SignIn(string account, string password)
      {
          ...
      }
  
      [HttpPost]
      public IHttpActionResult SignUp(User user)
      {
          ...
      }
  
      public IHttpActionResult GetUser(int id)
      {
          ...
      }
  
      public IHttpActionResult PutUser(int id, User user)
      {
          ...
      }
  
      public IHttpActionResult DeleteUser(int id)
      {
          ...
      }
  
  }
  </code></pre>
  
  <p>What I've tried is even to add the direct constraint on my top two routes for both methods, </p>
  
  <pre><code>config.Routes.MapHttpRoute(
              name: "UsersSignIn",
              routeTemplate: "api/Users/SignIn",
              defaults: new { controller = "Users", action = "SignIn" }
          );
  
  config.Routes.MapHttpRoute(
              name: "UsersSignUp",
              routeTemplate: "api/Users/SignUp",
              defaults: new { controller = "Users", action = "SignUp" }
          );
  
  config.Routes.MapHttpRoute(
              name: "RestFulUser",
              routeTemplate: "api/{controller}/{id}",
              defaults: new { id = RouteParameter.Optional },
              constraints: new { controller = "Users" }
          );
  </code></pre>
  
  <p>But it turns out [POST] <strong>"api/Users/SignUp"</strong> and <strong>"api/Users"</strong>
  could map to SignUp method, but <strong>"api/Users/SignIn"</strong> always not succeed.</p>
  
  <p>And here's about how I try the API in POSTMAN</p>
  
  <p><a href="https://i.stack.imgur.com/N1uCg.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/N1uCg.png" alt="POST MAN"></a></p>
  
  <p>Please point out where did I go wrong ..</p>