如何写好接口一 参数检测和状态码返回
写好接口
1.变量检测
1.为什么要检测?
参数检测是指接口中所用的外来传入参数的检测,常见的检测为变量是否存在,是否为空,是否为指定的数据源格式等,具体检测要求基于程序代码要求,这样做的主要目的是避免程序在执行中语法报错;
举例:程序中explode() 对方法对字符串进行解析,如果变量为空或压根不存在,那么该方法就会报错,如果在后续需要对explode解析出来的数组进行循环,或数组方式获取值,而在explode根本没有解析到数组,那么就会报变量不存在等问题;
2.在哪里检测?
一段程序代码是从上而下顺序执行的,大多时候都是下一段代码基于上一段代码的执行或结果的返或,这样就相当于构成一个程序链,我们的参数检测一定一定要在会报错的代码前面检测 最好就是在程序链的最顶端就检测;
- 接口接收参数的时候需要检测
- 查询数据库的数据需要检测(若上述参数是必然传过来的,所以数据必然查询出来,则不需要检测,否则多余)
- 使用某个方法返回值检测,若上述已检测,必然是返回的,那么不用检测
3.检测什么?
我们常见的检测主要是对变量的存在、变量的不能为空、变量是否为指定类型、正则检测;变量是否存在 isset 变量不能为空 empty 变量是否为指定类型 is_int is_array()等等
4.达到怎样的要求
从检测位置来讲,一定是全方位的,只要需要检测的地方必须进行检测,从检测程度上来讲,必须严格,比如要求一定是数组格式的,就不能只能检测不能为空,所以检测要到位,该检测的地方一定要检测(一个好的接口一定是上来就是判断的);
在接口逻辑上,还有参数检测部分,参数检测的主要的逻辑是业务上的检测,比如手机号不能为空,邮箱格式不正确等等,这里和我上述将的检测目的是不一致的。
一个好的接口或者项目一定是健壮的,不能看跑通了就行,要能被反复折腾,能考虑到每个涉及使用参数的地方,变量是否有,是否为空,是否是指定规则的类型字段;人家常说 10万行的代码 做事情的代码可能只有40% 还有60%是处理他的各种安全性的问题;参数检测就是其中的一部分;
2.状态码的返回
任何一种情况都要返回接口运行状态

浙公网安备 33010602011771号