Bug情景
今天在做功能测试时,发现使用使用StringUtils.hasLength()方法以及定价为负数时,添加图书仍然成功
思考过程
0.1 当时在做参数检验时用了spring提供的StringUtils工具包,百度/大数据模型说:
0.2 这里的定价设置的类型是BigDecimal类型
但是在测试的时候却能添加成功,纳闷βヾ(,・∇・,川
- 去看StringUtils的源码,发现它并不能判断只包含空白字符串的字符串。
因为它的源码是这样的
- 另外,做参数校验的时候并没有判断定价负数非法情况,自然可以是负数
解决
- 字符串参数非法情况–》str.trim().isEmpty()
- 定价负数–》num.compareTo(BigDecimal.ZERO)<0
(修改前端弹窗内容)===》