I have a JSON payload with the following structure ...
{
"age": 12
}
... which is mapped to the following class:
public class Student {
private Integer age;
public Integer getAge(){return age;}
public void setAge(Integer age){this.age = age;}
}
At the moment, if the user submits a float value for the age
, the decimals are ignored and the only the integer part is accepted. What I want to do is prevent the user from submitting a payload with a float value for the age
(see below) and throw an exception (something like "invalid JSON value for field 'age' at line 8 col 5" - as is the standard message when deserialization fails).
{
"age": 12.7 // will be truncated to 12
}
I was thinking of implementing a custom deserializer for numeric values but was wondering if there is a simpler way to achieve this.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…