title: A non-empty request body is required
body: <p>I've found a few other questions here on SO that address this issue; however, all those questions seem to have had their issues in the type of request being sent wether content-type was the issue, or model binding. In my situation, the error seems to get thrown on the <code>Ok</code> at the end of the action method.  </p>
  
  <p>So far I have have tried the following:</p>
  
  <ul>
  <li>Adding/removing <code>FromBody</code> attribute</li>
  <li>Ensuring my testing framework <em>Swagger</em> is sending as <code>application/json</code></li>
  <li>I tried changing to to a <code>Patch</code> just to see what would happen but the issue still persists</li>
  <li>I also tried changing the return from <code>Ok</code> to <code>NoContent</code> and the issue still persists</li>
  </ul>
  
  <p>As I said above, I did step through this code and verified that I hit the mapping code and all properties are properly mapped. The user itself does get updated in the database. The error is only thrown after execution exits the action method (after <code>Ok</code>) is called. So this throws me off even more since the error insists my request body is empty.  </p>
  
  <p><strong>Are there any other reasons this error would be thrown besides an actual empty request body or wrong content-type payload?</strong></p>
  
  <pre><code>    /// &lt;summary&gt;
      /// Updates the provided account and setting information
      /// &lt;/summary&gt;
      /// &lt;param name="vm"&gt;&lt;/param&gt;
      [HttpPost]
      [ProducesResponseType(200)]
      [ProducesResponseType(400, Type=typeof(string))]
      public async Task&lt;IActionResult&gt; UpdateAccountInfo([FromBody]UpdateAccountInfoViewModel vm)
      {
          var appModel = _mapper.Map&lt;ChartLog.Application.Models.UpdateAccountInfoModel&gt;(vm);
          appModel.UserId = User.GetUserId().Value;
  
          await _accountApp.UpdateAccountAndSettings(appModel);
          return Ok();
      }
  </code></pre>