Ошибка синтаксического анализа в контроллере asp.net – хотите получить JSON в виде строкиC#

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

Сообщение Anonymous »

Сейчас я пишу веб-сервис asp.net и хочу настроить конечную точку, получающую данные JSON в строке. Я не хочу, чтобы он анализировался до начала конечной точки.
Я определил эту конечную точку:
[HttpPost]
[Route("pushjson/{channelCode}")]
public async Task PushJson(
string channelCode,
[FromBody]string jsonData)
{
return await mediator.Send(new PushJsonCommand(channelCode, jsonData));
}


Я отправляю стандартный запрос, содержащий в теле объект JSON, и получаю следующую ошибку:
{
"errors": {
"": [
"Unexpected character encountered while parsing value: {. Path '', line 1, position 1."
],
"jsonData": [
"The jsonData field is required."
]
},
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"traceId": "00-2a07ddbecc1405194c0fa4fb4b555642-2feb76911955651e-00"
}

Похоже, что платформа пытается проанализировать предоставленные данные, чего определенно не ожидается. Следующий код решит, как обрабатывать данные JSON на основе конфигурации, поэтому предварительный анализ — это пустая трата времени.
Как настроить эту конечную точку, чтобы она сообщала Framework для хранения необработанных и неанализированных данных boday в строке и предоставления их моему методу?
Изменение кода для получения 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#»