title: Passing body content when calling a Delete Web API method using System.Net.Http
body: <p>I have a scenario where I need to call my Web API Delete method constructed like the following:</p>
  
  <pre><code>// DELETE: api/products/{id}/headers
  [HttpDelete("{id}/headers")]
  public void DeleteProductHeaders(int id, [FromBody] string query)
  {
  }
  </code></pre>
  
  <p>The trick is that in order to get the query over I need to send it through the body and DeleteAsync does not have a param for json like post does. Does anyone know how I can do this using System.Net.Http client in c#?</p>
  
  <pre><code>// Delete a product's headers
  public void DeleteProductHeaders(int id, string query)
  {
      using (var client = GetClient())
      {
          HttpResponseMessage response;
          try
          {
              // HTTP DELETE
              response = client.DeleteAsync($"api/products/{id}/headers").Result;
          }
          catch (Exception ex)
          {
              throw new Exception("Unable to connect to the server", ex);
          }
      }
      return retVal;
  }
  </code></pre>