У меня возникли проблемы с вызовом API. Мне нужно отправить данные сообщения, содержащие 2 вещи: идентификатор и массив строк.C# HttpClient отправить многоформатные данные сообщения
Я пробовал много вещей, все из-за ошибок или просто не отправляя данные в правильном направлении. Все ответы, которые я нашел, не обрабатывают тот факт, что я хочу отправить 2 разных типа данных.
Мой текущий C# код, как это:
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(SERVER_URI);
var content = ; //This is where I need help
HttpResponseMessage response = client.PostAsync("API URL", content).Result;
Функция API устанавливается следующим образом:
public ActionResult Function(int Id, string[] array)
{
// Contents are not relevant
}
Проблема здесь в том, что мне нужно, чтобы иметь возможность установить имена ценности. Я попытался сериализации необходимые данные Json с помощью следующего кода:
StringContent content = new System.Net.Http.StringContent(TypeSerializer.SerializeToString(new { Id = Id, array = array }));
Конечно, Id и буев в этом примере заполнены переменные. Это приводит к успешному вызову на сервер, но сервер не получает данные правильно (обе переменные остаются пустыми)
Я также пытался сделать это с помощью MultiPartContent, но еще раз не вижу никакого способа на самом деле дают правильные имена значений (Каждая попытка в очередной раз приводит к API получения нулевых значений)
Edit:
Я получил его, чтобы отправить Id используя MultipartFormDataContent вместо этого.
MultipartFormDataContent content = new MultipartFormDataContent();
content.Add(new StringContent(Id), "Id");
Я все еще не могу заставить его отправить массив на сервер.
Я пытался избегать создания объектов. В основном потому, что типизированные объекты должны присутствовать на 2-х местах, и это не делает очень удобный код. Я закончил тем, что просто отправил отформатированный массив JSON в виде строки и десериализовал это обратно в строку [] на стороне API. – Chirimorin
вы всегда можете поместить общие объекты в dll и ссылаться на них: D – dariogriffo