Изменения в [FromForm] в .net core 8, где значение JSON не поддерживаетсяC#

Место общения программистов C#
Anonymous
Изменения в [FromForm] в .net core 8, где значение JSON не поддерживается

Сообщение Anonymous »

у нас есть рабочий API ядра .net, который принимает 3 значения и обрабатывает их. Вы можете увидеть снимок экрана ниже, на котором есть заполнители для всех полей. В поле сообщения мы смогли передать как данные JSON, так и XML-данные, которые наш API смог использовать.
Изображение

Теперь, после того как мы обновили наш код до последней версии .net, вы можете увидеть это все три поля ввода принимают строку в качестве значения по умолчанию. Более того, основная проблема заключается в том, что если мы отправляем значение json в поле «Сообщение», мы получаем исключение 400, говорящее, что поле сообщения не может быть пустым.
[img]https://i. sstatic.net/8M63X0uT.png[/img]

Код моего контроллера и код класса остаются такими же, как указано ниже: -
[HttpPost("Produce/v2")]
public async Task ProduceForm([FromForm] KafkaPublisherRequest kafkaPublisherRequest)
{
if (kafkaPublisherRequest == null || !ModelState.IsValid)
{
return BadRequest();
}
_logger.LogInformation($"Started Publishing into Kafka Topic : {kafkaPublisherRequest.Topic}, Key :{kafkaPublisherRequest.Key}");
//Main code

return Ok(new ServiceResult(ServiceState.Completed, kafkaPublisherRequest.Key, "Produced Successfully"));
}

А вот мой класс модели: -
public class KafkaPublisherRequest
{
[Required]

public string Key { get; set; }

[Required]
public string Message { get; set; }

[Required]
public string Topic { get; set; }

public Dictionary Headers { get; set; }
}


Подробнее здесь: https://stackoverflow.com/questions/787 ... -supported

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