Java Jackson - предотвращает преобразование типа float в int при десериализации

У меня есть полезная нагрузка JSON со следующей структурой ...

{
"age": 12
}

... который сопоставлен со следующим классом:

public class Student {

    private Integer age;

    public Integer getAge(){return age;}
    public void setAge(Integer age){this.age = age;}
}

На данный момент, если пользователь отправляет значение с плавающей точкой дляage, десятичные дроби игнорируются и принимается только целая часть. Что я хочу сделать, это запретить пользователю отправлять полезную нагрузку со значением с плавающей запятой дляage (см. ниже) и сгенерируйте исключение (что-то вроде «недопустимого значения JSON для поля 'age' в строке 8 col 5» - как стандартное сообщение при сбое десериализации).

{
"age": 12.7 // will be truncated to 12
}

Я думал о реализации пользовательского десериализатора для числовых значений, но мне было интересно, есть ли более простой способ добиться этого.

Ответы на вопрос(3)

Ваш ответ на вопрос