Ваша ошибка - результат двойного использования @RequestBody в аргументах метода контроллера. Следующая строка вызывает проблему:
toCreateClaim(@Valid @RequestBody Claim claim, @RequestBody List<Sector> sectors)
Вы не можете использовать его таким образом, так как разрешен только один @RequestBody на метод. Использование @RequestBody Spring преобразует тело входящего запроса в указанный объект (что закрывает поток, представляющий тело в конце), поэтому попытка использовать @RequestBody второй раз в том же методе не имеет смысла, так как поток уже закрыт.
Итак, чтобы решить вашу проблему, создайте выделенный объект с обоими объектами, которые вы указали. Как:
public class Complaint {
Claim claim;
List<Sector> sectors;
}
А затем измените аргументы метода на:
toCreateClaim(@RequestBody Complaint complaint)
Более того, если вы хотите проверить структуру вашего объекта с помощью @Valid и сделать результат доступным, вам нужно добавить BindingResult сразу после проверяемого аргумента:
toCreateClaim(@Valid @RequestBody Complaint complaint, BindingResult bindingResult)