title: WebApi 2 POST with single string parameter not working
body: <p>I have the following controller:
  </p>
  
  <pre><code>public class ValuesController : ApiController
  {
      // POST api/values
      public IHttpActionResult Post(string filterName)
      {
          return new JsonResult&lt;string&gt;(filterName, new JsonSerializerSettings(), Encoding.UTF8, this);
  
      }
  }
  </code></pre>
  
  <p>WebApi config
  </p>
  
  <pre><code>config.Routes.MapHttpRoute(
      name: "DefaultApi",
      routeTemplate: "api/{controller}/{id}",
      defaults: new { id = RouteParameter.Optional });
  </code></pre>
  
  <p>I use this js code to call the api
  </p>
  
  <pre><code>$.ajax(
  {
      url: "/api/values/",
      type: "POST",
      dataType: 'json',
      data: { filterName: "Dirty Deeds" },
      success: function (result) {
          console.log(result);
      },
      error: function (xhr, status, p3, p4) {
          var err = "Error " + " " + status + " " + p3;
          if (xhr.responseText &amp;&amp; xhr.responseText[0] == "{")
              err = JSON.parse(xhr.responseText).message;
          console.log(err);
      }
  });
  </code></pre>
  
  <p>I get a 405 method not allowed (post) </p>