Как обработать отправку запроса из xamarin на сервере .net core web api

#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) методу as JSON ?

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);
 }