如何写好接口一 参数检测和状态码返回

写好接口

1.变量检测

1.为什么要检测?

参数检测是指接口中所用的外来传入参数的检测,常见的检测为变量是否存在,是否为空,是否为指定的数据源格式等,具体检测要求基于程序代码要求,这样做的主要目的是避免程序在执行中语法报错;

举例:程序中explode() 对方法对字符串进行解析,如果变量为空或压根不存在,那么该方法就会报错,如果在后续需要对explode解析出来的数组进行循环,或数组方式获取值,而在explode根本没有解析到数组,那么就会报变量不存在等问题;

2.在哪里检测?

一段程序代码是从上而下顺序执行的,大多时候都是下一段代码基于上一段代码的执行或结果的返或,这样就相当于构成一个程序链,我们的参数检测一定一定要在会报错的代码前面检测 最好就是在程序链的最顶端就检测;

  • 接口接收参数的时候需要检测
  • 查询数据库的数据需要检测(若上述参数是必然传过来的,所以数据必然查询出来,则不需要检测,否则多余)
  • 使用某个方法返回值检测,若上述已检测,必然是返回的,那么不用检测

3.检测什么?

我们常见的检测主要是对变量的存在、变量的不能为空、变量是否为指定类型、正则检测;变量是否存在 isset 变量不能为空 empty 变量是否为指定类型 is_int is_array()等等

4.达到怎样的要求

从检测位置来讲,一定是全方位的,只要需要检测的地方必须进行检测,从检测程度上来讲,必须严格,比如要求一定是数组格式的,就不能只能检测不能为空,所以检测要到位,该检测的地方一定要检测(一个好的接口一定是上来就是判断的);

在接口逻辑上,还有参数检测部分,参数检测的主要的逻辑是业务上的检测,比如手机号不能为空,邮箱格式不正确等等,这里和我上述将的检测目的是不一致的。

一个好的接口或者项目一定是健壮的,不能看跑通了就行,要能被反复折腾,能考虑到每个涉及使用参数的地方,变量是否有,是否为空,是否是指定规则的类型字段;人家常说 10万行的代码 做事情的代码可能只有40% 还有60%是处理他的各种安全性的问题;参数检测就是其中的一部分;

2.状态码的返回

任何一种情况都要返回接口运行状态

posted @ 2020-03-11 00:00  锐庆  阅读(475)  评论(0)    收藏  举报