При попытке обновить (используя PUT) через остальные API. net core 3.1 Я получаю:
Вход не содержит токенов JSON. Ожидается, что ввод начнется с действительного токена JSON, когда isFinalBlock равен true. Путь: $ | LineNumber: 0 | BytePositionInLine: 0.
Это происходит только при попытке обновления через рабочий сайт, локально он работает нормально. В качестве теста я отбросил вещи обратно к базовым элементам, создав новый базовый проект. net и используя их пример API-контроллера по умолчанию (WeatherForecastController), добавив новый метод обновления:
[HttpPut]
public IActionResult Update([FromBody]WeatherForecast weatherForecast)
{
return Ok();
}
Я опубликовал проект (только с этим изменением) и обнаружил, что я все еще получаю ту же ошибку при тестировании через почтальона. Кажется, что проблема, возможно, на стороне хозяина, и я уже поднял билет поддержки с ними, но они не смогли помочь. К сожалению, я абсолютно не знаю, как отладить эту проблему, я не знаю, где или что пытается десериализовать json и, следовательно, не удается. Любая помощь будет принята с благодарностью.
PS Если это поможет, в почтальоне я установил body в "raw" и "json". Я вполне уверен, что отправляемое json нормально, так как работает локально.
PPS HttpPost работает без проблем.