laravel json返回封装

laravel json返回值封装


laravel 返回的json封装 以便维护:

一般返回:

return response()->json(['status' => 'success','code' => 200,'message' => '成功']);
return response()->json(['status' => 'fail','code' => 500,'error' => '失败',]);

下边开始封装:(在基类中添加)

<?php 
namespace  App\Http\Controllers;use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;

class Controller extends BaseController{
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;    
    public function success($data = [])
    {
        return response()->json([            
            'status'  => true,            
            'code'    => 200,            
            'message' => config('errorcode.code')[200],            
            'data'    => $data,
        ]);
    }    
    public function fail($code, $data = [])
    {
        return response()->json([            
            'status'  => false,            
            'code'    => $code,            
            'message' => config('errorcode.code')[(int) $code],            
            'data'    => $data,
        ]);
    }
}

errorcode.php(新建在config目录下哦!)内容如下:

<?php
return [

      'code' => [        
            200 => '成功',        
            200001 => '缺少必要的参数',        
            //文章        
            503001 => '上传文件的格式不正确',        
            503002 => '同步成功-记录保存失败',        
            503003 => '权限错误',        
            503004 => '文章保存失败', 
            403017 => '临近定时时间不能取消发送任务',        
            403018 => '临近定时时间不能修改发送任务',        
            403019 => '超过发送时间不能发送',        
            403020 => '缺少发表记录ID参数',        
            //SMS        
            416001 => '添加成功,审核中,请耐心等待',        
            416002 => '签名添加失败',
    ],

];

可以对状态信息进行归类,如4--为用户端错误,5--位服务器端错误,2--为请求成功 。。。。。。。

使用:

return $this->fail(503003); 
return $this->Success();


laravel json返回值封装,试试吧! 


喜欢(0)

评论 抢沙发

表情