Как pNet Core WebAPI FromBody не может проанализировать объект JSon - PullRequest
0 голосов
/ 05 мая 2020

У меня проблема, когда метод IActionResult внутри моего контроллера не может проанализировать сериализованный JSon объект с форматированием HTML внутри свойства.

Объект Json, по сути, представляет собой сообщение электронной почты, передаваемое API для помещения в очередь.

Например:

{
   "Id": 1,
   "Name": "Joe Bloggs",
   "Description": "Hi Adam,\r\nThis is a test email\r\n\r\n",
   "Date": "2020-05-05T13:10:31.1619652+01:00",        
}

Если это простое сообщение, как указано выше, оно проходит нормально. Однако, если сообщение содержит расширенное форматирование HTML, тогда оно не работает с 500 Internal Server.

Я пробовал следующие два пункта, но не нашел решения:

  1. Использование пакета Newtonsoft Json Core Nuget и services.AddControllers().AddNewtonsoftJson();

  2. Извлеките Json из Request.Body, и меня представит Synchronous operations are disallowed, поэтому включите AllowSynchronousIO = true и все еще нет go :(

Я не совсем уверен, что еще может решить мою проблему? Есть предложения?

Вот метод IActionResult в контроллере

public IActionResult HandleEmailMessage(int Id, [FromBody] customClass)
{
    var addEmailMessage = _service.AddMessage(Id, customClass);
    return Ok(addEmailMessage.Result);
 }
...