Xamarin HttpClient.PutAsyn c без параметров - PullRequest
0 голосов
/ 01 апреля 2020

У меня проблема с 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);
}
...