title: ASP.NET CORE Web API: Model value is null when doing HTTP Post requests with null Guid
body: <p>I'm facing a problem doing post requests via ASP.NET Core Web API. I'm a bit confused of the articles I read/found while Googling.</p>
  
  <p>So here's my scenario:</p>
  
  <p>I'm trying to do a HTTP Post request to an api endpoint with a complex parameter.</p>
  
  <pre><code>    [HttpPost]
      [Route("api/createstudent")]
      public async Task&lt;ActionResult&gt; CreateStudent([FromBody]Student student)
      {
          // Service logic
      }
  </code></pre>
  
  <p><strong>Model:</strong></p>
  
  <pre><code>public class Student
  {
      public Guid StudentId { get; set; }
  
      public string StudentName { get; set; }
  }
  </code></pre>
  
  <p>My problem is that every time I make a post request to this endpoint the model value is null if I pass below the object.</p>
  
  <pre><code>{"studentId": null,"studentName": "Sam"}
  </code></pre>
  
  <p>Whereas If I pass empty Guid as below, I am able to get the model.</p>
  
  <pre><code>{ "studentId": "00000000-0000-0000-0000-000000000000", "studentName": "Sam" }
  </code></pre>
  
  <p>Is this a bug in ASP.NET Core 2? As I was able to pass null / Empty Guid for StudentId in .NET Framework WEB API.</p>