对于我的Student类,我将使用ObjectMapper将JSON反序列化为Java对象。
class Student {
private String name;
private String email;
...
}
我想验证email
的格式。显而易见的方法是首先反序列化JSON,然后从生成的Java对象中验证email
:
Pattern email_pattern = Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE);
Matcher matcher = email_pattern.matcher(student.getEmail());
if (!matcher.find()) {
throw new SyntaxException();
}
我想知道是否有办法在Student类中包含正则表达式验证(也许杰克逊提供了注释?)。如果验证失败,则ObjectMapper的readValue(json, Student.class)
会抛出异常。