Я пытаюсь создать консольное приложение, которое может помещать данные в базу данных, вызывая определенный API.Я не контролирую ни базу данных, ни API.API работает нормально, так как я уже создал протестировал метод GET, но я думаю, что-то не так с моим POST.
Итак, сначала я создаю объект Product , содержащий значения, которые яхотите отправить в API.
Product product = new Product
{
productId = "27795",
amount = 1,
customerid = 0,
returnbasketid = true
};
И это метод, который должен вызывать метод API POST.
static async Task CreateProductAsync(HttpClient cons, Product product)
{
using (cons)
{
HttpResponseMessage res = cons.PostAsJsonAsync("", product).Result;
res.EnsureSuccessStatusCode();
Console.WriteLine(res.Content.ReadAsStringAsync().Result);
}
}
После запуска кода строка HttpResponseMessage res = cons.PostAsJsonAsync("", product).Result;
имеетследующая ошибка:
System.AggregateException: 'Произошла одна или несколько ошибок.(Код состояния ответа не указывает на успех: 500 (Внутренняя ошибка сервера).) '
HttpRequestException: Код состояния ответа не указывает на успех: 500 (Внутренняя ошибка сервера).
Я предполагаю, что проблема в том, как я отправляю значения в API и что ожидает API.У меня есть пример ожидаемых данных:
{
"":[{
"productId":"27795",
"amount":2,
"customerid":0
},{
"productId":"27796",
"amount":1,
"customerid":0
}],
"returnbasketid":true
}
Я уже проверял это с помощью Postman, и он работает нормально, поэтому проблема должна быть с моим кодом.
https://pastebin.com/pZDehaaD Этоэто полный пример моего Program.cs.URL API был удален.
EDIT : Итак, это JSON, который отправляет мое консольное приложение:
Принимая во внимание, что JSON, который работает через Почтальон, таков:
Итак, вопрос в том, как мне написать свой код, чтобы JSONчто я отправляю правильно настроен?