Ошибка синтаксического анализа в контроллере ASP.NET Core: требуется получить JSON в виде строкиC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка синтаксического анализа в контроллере ASP.NET Core: требуется получить JSON в виде строки

Сообщение Anonymous »

В настоящее время я пишу веб-службу 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
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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