国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

JsonRPC返回失敗的結果

xiewen_kevin

Walkor,遠程請求一次JsonRPC的時候 ,比如用戶登陸 登陸成功正確返回是
{
"code": 0,
"msg": "ok",
"data": ""
}

那么,如果密碼輸入不正確登陸失敗呢?如何返回{
"code": 1,
"msg": "error",
"data": ""
}

4420 1 0
1個回答

walkor 打賞

方法我想到2種。

1、可以不拋exception,把結果放到data里面,不管是用戶存在還是不存在。

2、也可以自己改下rpc框架/Applications/JsonRpc/start.php,加個業(yè)務異常分支。業(yè)務異常不上報錯誤。

// 調(diào)用類的方法
try
{
    $ret = call_user_func_array(array($class, $method), $param_array);
    StatisticClient::report($class, $method, 1, 0, '', $statistic_address);
    // 發(fā)送數(shù)據(jù)給客戶端,調(diào)用成功,data下標對應的元素即為調(diào)用結果
    return $connection->send(array('code'=>0, 'msg'=>'ok', 'data'=>$ret));
}
    // 業(yè)務異常,
catch(BusinessException $e)
{
    $code = $e->getCode() ? $e->getCode() : 500;
    StatisticClient::report($class, $method, 1, $code, $e, $statistic_address);
    return $connection->send(array('code'=>$code, 'msg'=>$e->getMessage(), 'data'=>$e));
}
    // 有異常
catch(Exception $e)
{
    // 發(fā)送數(shù)據(jù)給客戶端,發(fā)生異常,調(diào)用失敗
    $code = $e->getCode() ? $e->getCode() : 500;
    StatisticClient::report($class, $method, $success, $code, $e, $statistic_address);
    return $connection->send(array('code'=>$code, 'msg'=>$e->getMessage(), 'data'=>$e));
}
年代過于久遠,無法發(fā)表回答
??