题目描述
Spring MVC 中接收集合Integer 问题
题目来源
对应批量查询的需求时,调用接口时使用逗号分隔,在 spring mvc 中使用实体对象属性 List<Integer>
接收,框架会自动将数据进行分隔保存。
如果数据是非数值会报错,但是如果数据是一个空白符和在分隔符中无数据时却会把空白符当做 null 保存进去,这不符合与预期效果,如何可以针对这种情况做处理?
相关代码
@PostMapping("test")
@ResponseBody
public User test(User user) {
return user;
}
public class User {
private List<Integer> idList;
public List<Integer> getIdList() {
return idList;
}
public void setIdList(List<Integer> idList) {
this.idList = idList;
}
}
你期待的结果是什么?实际看到的错误信息又是什么?
实际期待结果是对空白符和空数据进行忽略处理,如果无法忽略,提示数据不对也行。
正常结果1
输入正确的数据
正常结果2
输入非数值的数据
错误结果1
数据中存在空格
错误结果2
数据中存在空格与分隔符中无内容
使用SpringMVC的数据绑定,请求参数到达时进行初始化数据绑定
根据你自身的需求在
setAsText
方法中进行定制化操作