美文网首页
API数据字典2018-08-16

API数据字典2018-08-16

作者: 叫我峰兄 | 来源:发表于2018-08-16 10:25 被阅读0次

    接口异常的处理规范
    一. 统一的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->errno,this->errmsg) = Err_Map::get(1004);

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

    TryCatch 集中捕获异常处理
    try{
    可能发生异常的代码
    }catch( Exception e){ echo json_decode( array('errno'=>-9999,'errmsg'=>'error.'.e->getMessage()));
    }

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

    相关文章

      网友评论

          本文标题:API数据字典2018-08-16

          本文链接:https://www.haomeiwen.com/subject/uksnbftx.html