title: POSTing from Angular to .net WebAPI
body: <p>I'm using an Angular $resource to post a model to a webapi endpoint, but Angular sends the data in the request payload, rather than a JSON body or form parameters. As a result, the model always ends up as null.</p>
  
  <p>My API is as follows:</p>
  
  <pre><code>public class UserController : APIController {
      [HttpPost]
      public void Disconnect(Models.Users.User model) {
      }
  }
  </code></pre>
  
  <p>The request headers are:</p>
  
  <pre><code>POST /siteapi/User/Disconnect HTTP/1.1
  Host: rouge2
  Connection: keep-alive
  Content-Length: 125
  Accept: application/json, text/plain, */*
  Origin: http://rouge2
  X-Requested-With: XMLHttpRequest
  User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31
  Content-Type: application/json;charset=UTF-8
  Referer: http://rouge2/Users
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
  Cookie: .ASPXAUTH=115C6015BDD5C1A9D111B0A9FBF05294B73287328566F65CB1BCB457DF206EF0916D4615B5914EB443AA567E860742AC14EAA2951B9C327260C4F00649694260A1B3960771FB6675FEE8F3E68B0BB46436020ACAB33ECE0D3E70B50D6569E52B27F69161762C10C19A806A12D3254DF60EF4758DEDCA529A91CB36C74B7FA7F4; __RequestVerificationToken=Rp4Vu8R67ziDNc36DoOLZH7KmEfumig1zFDmYiFWHTsWyf2I037xJQydcmLtOfaJ3ccc8GEZXmHoa8LBRusxKFRYVoy27GuFEfNhKKYS_hUysjwCjmsxw5OCK3RKsiXIAh1Gbi0PxcdqBfzctSJn9g2
  </code></pre>
  
  <p>And the request payload:</p>
  
  <pre><code>{"Id":3,"FirstName":"Test","LastName":"User","Username":"testuser","IsApproved":true,"IsOnlineNow":true,"IsChecked":true}
  </code></pre>
  
  <p>If I test in Fiddler, posting the same JSON string in the body, the model is correctly populated, as expected.</p>
  
  <p>Is there a built-in model binder which will work in this scenario, or something pre-built somewhere I can use?</p>
  
  <p>Or can someone please point me in the direction of a working example?</p>