I have to send a delete command to a REST API service with JSON content using the HttpClient class and can't make this working.
API call:
DELETE /xxx/current
{
"authentication_token": ""
}
because I can't add any content into below statement:
HttpResponseMessage response = client.DeleteAsync(requestUri).Result;
I know how to make this work with RestSharp:
var request = new RestRequest {
Resource = "/xxx/current",
Method = Method.DELETE,
RequestFormat = DataFormat.Json
};
var jsonPayload = JsonConvert.SerializeObject(cancelDto, Formatting.Indented);
request.Parameters.Clear();
request.AddHeader("Content-type", "application/json");
request.AddHeader ("Accept", "application/json");
request.AddParameter ("application/json", jsonPayload, ParameterType.RequestBody);
var response = await client.ExecuteTaskAsync (request);
but I have get it done without RestSharp.
Although it might be late to answer this question but I've faced a similar problem and the following code worked for me.
HttpRequestMessage request = new HttpRequestMessage
{
Content = new StringContent("[YOUR JSON GOES HERE]", Encoding.UTF8, "application/json"),
Method = HttpMethod.Delete,
RequestUri = new Uri("[YOUR URL GOES HERE]")
};
await httpClient.SendAsync(request);