title: Why are my POST actions not found in ASP.NET Web API?
body: <p>This is my DefaultApi configuration:</p>
  
  <pre><code>config.Routes.MapHttpRoute(
     name: "DefaultApi",
     routeTemplate: "api/{controller}/{id}/{action}",
     defaults: new { action = "DefaultAction", id = RouteParameter.Optional }
  );
  
  [ActionName("DefaultAction")]
  public HttpResponseMessage Get(string id)
  
  [ActionName("DefaultAction")]
  public HttpResponseMessage Post(MyClass obj)
  </code></pre>
  
  <p>How come <code>GET</code> works but using <code>POST</code> I get a <code>404 Not Found</code> error?</p>
  
  <p>Any ideas or suggestions?</p>
  
  <p><strong>Edit:</strong></p>
  
  <p>Client JavaScript:</p>
  
  <pre><code>$.ajax({
      type: "POST",
      url: "@Url.Content("~/api/controllername")",
      data: args,
      200: function (data) {
            ......
          }
  });
  </code></pre>