Badrequest при отправке данных JSONC#

Место общения программистов C#
Ответить
Anonymous
 Badrequest при отправке данных JSON

Сообщение Anonymous »

Я пытаюсь отправить данные json в API, но ничего не получается.
Прежде всего, данные — это список объектов. в самый первый раз это работает, и это потому, что массив пуст.
однако во второй раз, когда он пытается отправить, я напрямую получаю 400, даже без моего отладчика, даже не входящего в контроллер.
Я подозреваю, что мои данные json не могут быть десериализованы по какой-то причине, это также мой второй подозреваемый снова, поскольку мой ответ имеет тип application/problem+json.
Однако все может быть сложно.
Я пытался использовать ['frombody'], я пробовал встроить сериализатор json, а также newtonsoft. Я пытался использовать форматирование. Задумано, но все безуспешно.
В моем объекте есть один параметр - строка, которая может вызвать проблемы, поскольку содержит множество специальных символов -> этот параметр содержит физический путь к каталогу, поэтому он будет содержать '/' и '', а также пробел и/или другие специальные символы из имени каталога.
клиент:
using (HttpClient client = new HttpClient())
{
var message = new HttpRequestMessage();
message.Content = JsonContent.Create(files, typeof(List));
message.RequestUri = new Uri("http://localhost:5245/api/fileagent");
message.Method = HttpMethod.Post;

var response = await client.SendAsync(message);

if (!response.IsSuccessStatusCode)
{
logger.LogError($"Sending to api was not successful {(int)response.StatusCode}");
}
}

Это все еще необходимо реорганизовать, чтобы внедрить httpclient, а не оператор using.
контроллер:
[HttpPost]
public async Task AddMessages([FromBody]List messages)
{

messages.ForEach(x => x.Ipaddress = HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString());
//send to repository
await context.WatchedFiles.AddRangeAsync(messages);
await context.SaveChangesAsync();
return Ok();
}


Подробнее здесь: https://stackoverflow.com/questions/744 ... -json-data
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»