Я застрял на этом вопросе более 4 часов.Мой json выглядит нормально, по крайней мере, для jsonLint, вот пример:
[{
"cnpj": "1",
"notasPorConsulta": "1",
"partirDe": "1"
}, {
"cnpj": "2",
"notasPorConsulta": "2",
"partirDe": "2"
}]
или
{
"NovoRastreio": [{
"cnpj": "1",
"notasPorConsulta": "1",
"partirDe": "1"
}, {
"cnpj": "2",
"notasPorConsulta": "2",
"partirDe": "2"
}]
}
Вот как я пишу с помощью JavaScript.
(async () => {
console.log(NovoRastreio);
const fetchResp = await fetch('api/values/NovoRastreio', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: NovoRastreio
})
.then();
.then(res => console.log(res.json()));
})();
Я тоже пробовал без асинхронности / ожидания.Безуспешно.
Сначала я создал базовую модель, после того как я сгенерировал другую с использованием QuickType, вот она.
public partial class NovoRastreio
{
[JsonProperty("NovoRastreio")]
public List<NovoRastreioElement> Rastreios { get; set; }
}
public partial class NovoRastreioElement
{
[JsonProperty("cnpj")]
public string Cnpj { get; set; }
[JsonProperty("notasPorConsulta")]
[JsonConverter(typeof(ParseStringConverter))]
public long NotasPorConsulta { get; set; }
[JsonProperty("partirDe")]
[JsonConverter(typeof(ParseStringConverter))]
public long PartirDe { get; set; }
}
И мой контроллер, я удалил весь код и оставил толькопростой консольный писатель, чтобы посмотреть, сработает ли он.
[HttpGet("NovoRastreio")]
public void NovoRastreioPorCnpj([FromBody]NovoRastreio rastreios )
{
System.Console.WriteLine(rastreios);
}
Нет, я получаю ошибку от заголовка каждый раз, даже если я пытаюсь использовать почтальон, а также у меня есть несколько других постов в этомтот же API, и он отлично работает, но отличается тем, что другие просто публикуют один объект JSON вместо списка / массива из нескольких объектов.