前言

提示:为什么需要看开发的代码呢:
1.把关实现是否与接口文档和需求是否一致
2.对于测试点的查漏补缺


一、如何校验参数合法性

1.定义的类型是否和接口文档保持一致

代码如下(示例):

public class SuperMarket {
    Integer title;
    String name;
    long amount;
    boolean freeze;
}

2.字段必传和非必传

必传:
1.如果我不传业务逻辑会怎样(比如走到下游?逻辑不合理?)
不传的预期结果是啥?
非必传:
不传会走到默认值,会对业务有哪些影响

3.是否合法

比如:已知Integer title的值肯定会大于0,那需要校验值为-1
String传空字符串,String字段不传=NULL

4.长度校验

比如:
int 数据类型是32位、有符号的以二进制补码表示的整数;
最小值是 -2,147,483,648(-2^31);
最大值是 2,147,483,647(2^31 - 1);
long 数据类型是 64 位、有符号的以二进制补码表示的整数;
最小值是 -9,223,372,036,854,775,808(-2^63);
最大值是 9,223,372,036,854,775,807(2^63 -1);
有一个userid为int类型,我传超过10位会报空指针

5.结合业务

比如:
有一个业务场景需要0和1,如果我传2会怎样

其他

java默认类型

1、int类型定义的数组,初始化默认是0
2、String类型定义的数组,默认值是null
3、char类型定义的数组,默认值是0对应的字符
4、double类型定义的数组,默认值是0.0
5、float类型定义的数组,默认值是0.0

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐