title: POSTMAN POST Request Returns Unsupported Media Type
body: <p>I am following the API instructions from Adam Freeman's "Pro ASP.NET Core MVC 2". I have the following API controller class:</p>
  
  <pre><code>    [Route("api/[controller]")]
      public class ReservationController : Controller
      {
          private IRepository repository;
  
      public ReservationController(IRepository repo) =&gt; repository = repo;
  
      [HttpGet]
      public IEnumerable&lt;Reservation&gt; Get() =&gt; repository.Reservations;
  
      [HttpGet("{id}")]
      public Reservation Get(int id) =&gt; repository[id];
  
      [HttpPost]
      public Reservation Post([FromBody] Reservation res) =&gt;
          repository.AddReservation(new Reservation
          {
              ClientName = res.ClientName,
              Location = res.Location
          });
  
      [HttpPut]
      public Reservation Put([FromBody] Reservation res) =&gt; repository.UpdateReservation(res);
  
      [HttpPatch("{id}")]
      public StatusCodeResult Patch(int id, [FromBody]JsonPatchDocument&lt;Reservation&gt; patch)
      {
          Reservation res = Get(id);
          if(res != null)
          {
              patch.ApplyTo(res);
              return Ok();
          }
          return NotFound();
      }
  
      [HttpDelete("{id}")]
      public void Delete(int id) =&gt; repository.DeleteReservation(id);
  }
  </code></pre>
  
  <p>The text uses PowerShell to test the API but I would like to use Postman. In Postman, the GET call works. However, I cannot get the POST method to return a value. The error reads 'Status Code: 415; Unsupported Media Type'</p>
  
  <p>In Postman, the Body uses form-data, with:</p>
  
  <pre><code>key: ClientName, value: Anne
  key: Location, value: Meeting Room 4
  </code></pre>
  
  <p>If I select the Type dropdown to "JSON", it reads "Unexpected 'S'"</p>
  
  <p>In the Headers, I have:</p>
  
  <pre><code>`key: Content-Type, value: application/json`
  </code></pre>
  
  <p>I have also tried the following raw data in the body, rather than form data:</p>
  
  <pre><code>{clientName="Anne"; location="Meeting Room 4"}
  </code></pre>
  
  <p>The API controller does work and return correct values when I use PowerShell. For the POST method, the following works:</p>
  
  <pre><code>Invoke-RestMethod http://localhost:7000/api/reservation -Method POST -Body (@{clientName="Anne"; location="Meeting Room 4"} | ConvertTo-Json) -ContentType "application/json"
  </code></pre>