我正在嘗試檢查 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條經驗 獲得超5個贊
在您的 if 語句中:if (age.trim().isEmpty() || age==null)
首先需要進行空檢查,否則age.trim()
如果值為空,則在調用該方法時您將收到 NullPointerException 。
例如,只需將其更改為: if (age==null || age.trim().isEmpty())
添加回答
舉報
0/150
提交
取消