Я пытаюсь отправить запрос PUT при нажатии кнопки из моего xamarin. Приложение android для обновления записи в моей базе данных следующим кодом:
Я попытался отправить эти json данные используя почтальон, и это сработало:
{'status': 'On'}
Но когда я попытался отправить это в моем приложении xamarin. android, оно не работает.
Ошибка: удаленный сервер возвращает ошибку (500 ) Внутренняя ошибка сервера
Функция:
private async void SendAPIRequest(string method, string jsonrequest)
{
HttpWebRequest request = new HttpWebRequest(new Uri(String.Format("http://192.168.0.179:8080/api/devices/update/1")));//address of request
request.Method = "PUT";
request.ContentType = "application/json; charset=utf-8";
using (var streamWriter = new StreamWriter(request.GetRequestStream()))
{
streamWriter.Write(jsonrequest);
streamWriter.Flush();
}
HttpWebResponse httpResponse = (HttpWebResponse)(await request.GetResponseAsync());
string json;
using (Stream responseStream = httpResponse.GetResponseStream())
{
json = new StreamReader(responseStream).ReadToEnd();//read the Json and assign it to a variable
}
}
Нажатие кнопки
private void BtnRequest_Click(object sender, EventArgs e)
{
string request = @"{'status': 'On'}";
SendAPIRequest("PUT", request);
}
PS: это только тест API, поэтому аутентификация не требуется.