В настоящее время я пишу веб-службу ASP.NET Core и хочу настроить конечную точку, получающую данные JSON в строке. Я не хочу, чтобы он анализировался до начала конечной точки.
Я определил эту конечную точку:
[HttpPost]
[Route("pushjson/{channelCode}")]
public async Task PushJson(string channelCode,
[FromBody]string jsonData)
{
return await mediator.Send(new PushJsonCommand(channelCode, jsonData));
}
Я отправляю стандартный запрос с объектом JSON в теле и получаю следующую ошибку:
При анализе значения обнаружен неожиданный символ: {. Путь '', строка 1, позиция 1.
Поле jsonData является обязательным.
Похоже, что платформа пытается проанализировать предоставленные данные, чего явно не ожидается. Следующий код решит, как обрабатывать данные JSON на основе конфигурации, поэтому предварительный анализ — это пустая трата времени.
Как настроить эту конечную точку, чтобы она сообщала framework для хранения только необработанных и неанализированных данных тела в строке и предоставления их моему методу?
Изменение кода для получения JObject позволяет коду работать, но тогда у меня появляется ненужный синтаксический анализ и ненужная сериализация, которая зря тратит процессорное время.
[HttpPost]
[Route("pushjson/{channelCode}")]
public async Task PushJson(string channelCode,
[FromBody]JObject jsonData)
{
return await mediator.Send(new PushJsonCommand(channelCode, JsonSerializer.Serialize(jsonData)));
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... -as-string
Ошибка синтаксического анализа в контроллере ASP.NET Core: требуется получить JSON в виде строки ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Ошибка синтаксического анализа в контроллере asp.net – хотите получить JSON в виде строки
Anonymous » » в форуме C# - 0 Ответы
- 23 Просмотры
-
Последнее сообщение Anonymous
-