API数据字典2018-08-16

接口异常的处理规范
一. 统一的API接口返回(错误信息字典)

class Err_Map{
const ERRMAP =array(
// 第一位表示的是哪个控制器
1001 => '请通过正确渠道提交',
1002 => '请输入正确的账号',
1003 => '密码错误',
1004 => '密码错误',

    2***,3**** ....
); 

public static function get( $code ){
    if(isset(ERRMAP[$code])){
        return array('errno'=>(0-$code),'errmsg'=>ERRMAP[$code]);
    }
    return array('error'=>(0-$code),'errmsg'=>'undefinded this error code');
}

}

在具体的控制器方法中
原来的写法
json_encode(['error'=>1002,'errmsg'=>'','data'=>''])
现在
json_encode(Err_Map::get(1002));

在模型中:
list(this->errmsg) = Err_Map::get(1004);

二. 统一的API异常处理(容错与降低)

TryCatch 集中捕获异常处理
try{
可能发生异常的代码
}catch( Exception e->getMessage()));
}

一般用在控制器中调用模型时,为了防止客户端崩溃
try{
uid = uname), pwd));
}catch(Exception $e){
echo json_encode(Err_Map::get(1000));
return false;
}

你可能感兴趣的:(API数据字典2018-08-16)