title: How to POST Json in HttpContent and Parse it in API Controller?
body: <p>I am wanting to take JSON, put it in a StringContent and pass it to my API. From there, i am wanting to deserialize the JSON back over to a class and use it from there. Currently i am getting an error for trying to deserialize which from what i can tell, the logInfo is empty when reaching the API. When i try writing out the parameter, it's empty in the event log. See the Consumer and API Code below.</p>
  
  <pre><code>        public void Log(LogInfo logInfo)
          {
          using (var client = CreateHttpClient())
          {
              var jsonData = JsonConvert.SerializeObject(logInfo);
              HttpContent content = new StringContent(jsonData, Encoding.UTF8, "application/json");
              HttpResponseMessage response = client.PostAsync("Logger/Log", content).Result;
  
              if (!response.IsSuccessStatusCode)
              {
                  throw new InvalidOperationException($"{response} was not successful.");
              }
          }
      }
  
  
          [HttpPost]
      public HttpResponseMessage Log([FromBody] string logInfo)
      {
          //var logData = JsonConvert.DeserializeObject&lt;LogInfo&gt;(logInfo);
          EventLog.WriteEntry("TestApp", logInfo);
          EventLog.WriteEntry("TestApp", Request.Content.ReadAsStringAsync().Result);
          //Log(logData);
  
          return Request.CreateResponse(HttpStatusCode.OK);
      }
  </code></pre>