У меня проблема с httpClient.PutAsync. Я использую приведенный ниже код, но API не получил ни одного из моих параметров.
Я тестировал PUT через Postman и он работает, но из моего приложения API не получает никаких параметров через PUT. Где ошибка?
public async Task<PutResponse> PutBMI(BMIItemsPUT bmiItems)
{
List<KeyValuePair<string, string>> putData = new List<KeyValuePair<string, string>>();
putData.Add(new KeyValuePair<string, string>("user_id", bmiItems.user_id.ToString()));
putData.Add(new KeyValuePair<string, string>("data", bmiItems.data.ToString()));
putData.Add(new KeyValuePair<string, string>("height", bmiItems.height.ToString()));
putData.Add(new KeyValuePair<string, string>("weight", bmiItems.weight.ToString()));
putData.Add(new KeyValuePair<string, string>("activity", bmiItems.activity.ToString()));
putData.Add(new KeyValuePair<string, string>("bmi", bmiItems.bmi.ToString()));
putData.Add(new KeyValuePair<string, string>("kcal_demand", bmiItems.kcal_demand.ToString()));
FormUrlEncodedContent content = new FormUrlEncodedContent(putData);
PutResponse putdata = await PutBMIresponse<PutResponse>(Constansts.BMIUrl, content);
return putdata;
}
public async Task<T> PutBMIresponse<T>(string weburl, FormUrlEncodedContent content) where T : class
{
HttpResponseMessage httpResponseMessage = await client.PutAsync(weburl, content);
string jsonResult = await httpResponseMessage.Content.ReadAsStringAsync();
Debug.WriteLine("++++++++++++++++++++++++++++" + jsonResult);
return JsonConvert.DeserializeObject<T>(jsonResult);
}