我正在尝试检查 JSON 字段为空或空,它适用于空字符串而不适用于空Lombok 我只是用来覆盖 ToString,但我正在使用 Jackson 库import lombok.ToString;@ToStringpublic class DefaultModel { private String name; private String age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { if (age.trim().isEmpty()||age==null) { this.age="101"; } else { this.age=age; } }}这是控制器:@RequestMapping(value="/default", method=RequestMethod.POST)public DefaultModel m1(@RequestBody() DefaultModel model) { System.out.println(model); return model;}它适用于空字符串,但不适用于我没有在正文中传递 JSON 字段时失败案例:{ "name":"some"}我知道另一种情况是愚蠢的,但我尝试过,而且我什至不想为此空值提供 0.1%{ "name":"some", "age":null}
2 回答
收到一只叮咚
TA贡献1821条经验 获得超4个赞
在您的 if 语句中:if (age.trim().isEmpty() || age==null)
首先需要进行空检查,否则age.trim()
如果值为空,则在调用该方法时您将收到 NullPointerException 。
例如,只需将其更改为: if (age==null || age.trim().isEmpty())
添加回答
举报
0/150
提交
取消