我有一个类User,有两个字段:必须的id
和可选的name
我使用lombok和Jackson(2.12版)注解。
@SuperBuilder
@Getter
@EqualsAndHashCode
@AllArgsConstructor(access = AccessLevel.PROTECTED)
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@ToString
public class User {
@JsonProperty(required = true)
private String id;
private String name;
}
我尝试验证一个json,并希望它失败,因为test
没有所需的属性id
:
String test = "{\"name\":\"blablabla\"}";
ObjectMapper objectMapper = new ObjectMapper();
User user = objectMapper.readValue(test, User.class);
我发现,如果我添加一个带有Jackson注解@JsonCreator
的构造函数,它应该可以工作。
是否可以不更改User
类?
1条答案
按热度按时间wtlkbnrh1#
决定使用
@JsonCreator
实现,因为没有找到答案。这就是User
类现在的样子: