php api接口封装,API接口返回码封装

本文总结了API接口开发中的关键注意事项,包括检查数据空值、保持数据格式一致性、避免参数数量不一致导致的崩溃、处理循环中的空值、避免iOS与PHP间JSON解析差异、处理HTTP到HTTPS跳转问题、启动图URL管理、第三方接口错误处理、错误信息配置、成功与错误返回的统一方法。这些实践有助于提升API的稳定性和客户端的用户体验。
摘要由CSDN通过智能技术生成

1.要注意判断接口返回的数据是否为空;

*****

2.注意返回数据时,有数据和没有数据返回的数据格式要一致;

*****

3.APP返回的参数的数量必须一样 不能有的数据有这个字段另一个没有,否则容易导致客户端崩溃;

*****

4.APP的接口数据循环的时候不能有空,否则容易崩溃;

*****

5.尽量不要让IOS传json格式的数据给PHP,因为PHP和IOS解析出来可能会有差异;

*****

6.APP客户端读取http图片的时候,如果该图片是由http301强制跳转https,APP客户端可能会崩溃,无法获取图片信息(IOS测试会崩)

*****

7.如果进入APP以后,点击的跳转如果不正确,有可能是启动图的问题(客户端启动图的URL没有删除)。

*****

8. **请求第三方接口,如果对方宕机,就不会返回json数据。所以在请求第三方接口的时候需要判断是否是json,然后再解析。**

代码如下:

~~~

//判断是否是JSON

public function is_json($string) {

@json_decode($string);

return (json_last_error() == JSON_ERROR_NONE);

}

~~~

~~~

//调用判断是否是JSON格式

if($this->is_json($result))

{

$arr = json_decode($arr[0],true);

if(!empty($arr))

{

if ($arr[ 'rc' ] == '200') {

$edata['msg'] = '充值成功';

$edata['data'] = (object)[];

$edata['status']= 0;

sendjson($edata);

} else {

$this->ErrorCode($arr[ 'rc' ]?$arr[ 'rc' ]:0,$arr[ 'msg' ]);

}

}

sendjson(['msg'=>'数据通讯失败','data'=>(object)[],'status'=>7121]);

}

~~~

**9.把错误信息写到一个配置文件里面。**

类似于下面这种:

~~~

return [

//通用模块 错误信息 10

'COMMON' => [

'PARAMS_REQUIRED' => [

'code' => '10001',

'message' => '缺少必要参数',

],

'PARAMS_INVALID' => [

'code' => '10002',

'message' => ':attribute不在有效范围',

]

],

];

~~~

*****

**10.请求成功返回的方法:**

请求方式:

```

return $this->success();

```

~~~

/**

*API请求结果为成功后返回调用

* @param $data 返回内容

* @return mixed

*/

public function success($data = [])

{

$result = ['status' => 'ok'];

if (!empty($data)) {

$result['data'] = $data;

}

return $this->response->array($result);

}

~~~

*****

**11.请求错误返回的方法:**

请求方式:

```

return $this->error('COMMON.DB_ERROR');

```

~~~

/**

* API请求结果为成功后返回调用

* @param $data 返回内容

* @return mixed

*/

public function error ($data = [])

{

$result = ['status' => 'error'];

然后根据错误码找到错误的信息提示。如果错误信息没在配置文件里,可以返回个固定的。比如系统错误之类的。

$aError['data'] = $data['data'];

$aError['msg'] = $data['msg'];

$result['error'] = $aError;

return $this->response->array($result);

}

~~~

*****

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值