错误返回

基类控制器里有error方法,用于api的错误消息返回输出

  1. /**
  2. * 操作错误跳转的快捷方法
  3. * @access protected
  4. * @param mixed $msg 提示信息,若要指定错误码,可以传数组,格式为['code'=>您的错误码,'msg'=>'您的错误消息']
  5. * @param mixed $data 返回的数据
  6. * @param array $header 发送的Header信息
  7. * @return void
  8. */
  9. protected function error($msg = '', $data = '', array $header = [])

有几种用法如下:

只输出错误消息

  1. $this->error('操作失败!');

返回结果:

  1. {
  2. "code":0,
  3. "msg":"操作失败!",
  4. "data":""
  5. }

携带数据

  1. $this->error('操作失败!',['title'=>'文章标题']);

返回结果

  1. {
  2. "code":0,
  3. "msg":"操作失败!",
  4. "data":{
  5. "title":"文章标题"
  6. }
  7. }

第二个参数$data,支持多种格式,可以是int,float,string,array 等

自己携带额外header 数据

  1. $this->error('操作失败!',['title'=>'文章标题'],['XX-Author'=>'Catman']);

返回结果:

  1. {
  2. "code":0,
  3. "msg":"操作失败!",
  4. "data":{
  5. "title":"文章标题"
  6. }
  7. }

但 response header里会增加额外数据:错误返回 - 图1

指定错误码

  1. $this->error(['code'=>10002,'msg'=>'您的错误消息'],['title'=>'文章标题'],['XX-Author'=>'Catman']);

返回结果:

  1. {
  2. "code":10002,
  3. "msg":"您的错误消息",
  4. "data":{
  5. "title":"文章标题"
  6. }
  7. }