#c# #xamarin #asp.net-core
#c# #xamarin #asp.net-core
Вопрос:
Я пытаюсь отправить запрос с сериализованными данными на свой сервер, используя HttpClient
var content = JsonConvert.SerializeObject(note);
var response = await _client.PostAsync(url, new StringContent(content));
вот мой метод в контроллере:
[HttpPost]
public ActionResult<Note>Create([FromBody]note)
{
_noteService.Create(note);
return new Note();//CreatedAtRoute("GetBook", new { id = note.Id.ToString() }, note);
}
и я получаю сообщение об ошибке Неподдерживаемый тип среды, я попытался изменить тип данных параметра «примечание» на StringContent и я получаю сообщение об ошибке «Плохой шлюз«, я попытался изменить его на тип данных String, но он пуст.
Как я могу получить отправку данных из приложения xamarin на моем сервере?
Отредактировано: Вероятно, мне придется получить сериализованную строку и десериализовать ее в свой объект.
Комментарии:
1. Вы не передаете примечание
Create([FromBody]note)
методу asJSON
?2. Пожалуйста, попробуйте с
var response = await _client.PostAsync(url, content);
и дайте мне знать результат.3. @TanvirArjel Я попробовал ваше предложение и получил ошибку «не преобразовать строку в HttpContent», поэтому она была исправлена с помощью «var response = await _client. PostAsync(url, новый StringContent (содержимое, кодировка. UTF8, «application / json»;
4. @TanvirArjel спасибо
5. О! понял. Добро пожаловать.
Ответ №1:
Решено, пожалуйста, ознакомьтесь с решением ниже
Код Xamarin:
var content = JsonConvert.SerializeObject(note);
var response = await _client.PostAsync(url, new StringContent(content, Encoding.UTF8, "application/json"));
Код .Net Core WebAPI:
[HttpPost]
public ActionResult<Note>Create(Note note)
{
_noteService.Create(note);
return CreatedAtRoute("GetNote", new { id = note.Id.ToString() }, note);
}