java如何在spring boot中对rest控制器方法端点应用json ignore注释?
我有一门课叫Customer
Customer{
private int ID;
private IDCard idCard;
}
还有身份证。爪哇
IDCard{
private int id;
private int score;
}
我有两个端点,端点01和端点02。 因此,当我使用endpoint01添加客户时,必须提供分数。但当我使用endpoint02添加customer时,分数不是强制性的
由于我在两个端点的控制器方法中使用相同的客户模型,Jackson抛出错误,因为在endpoint02上我没有提供分数。 在这种情况下,很明显我不能在我的IDCard模型中应用json ignore。因此,我如何告诉endpoint02忽略不存在的分数字段,并仅在json对象中存在该字段时反序列化
这是我的电话号码
@RequestMapping(method=RequestMethod.POST, value="/add",headers="Accept=application/json")
public @ResponseBody Map<String,List<String>> add(@RequestBody Customer customer) {
return customerSvc.add(customer);
}
# 1 楼答案
您需要的是POJO上的注释,而不是端点上的注释
这将允许在反序列化对象时避免使用字段
注意:注意封装
# 2 楼答案
可以对特定属性应用忽略注释