laravel封装返回json信息工具类

1.工具类可以一次写入多方多方调用,很大程度的节约开发时间得到想要的信息

本人自己封装了一个compoer包如果不想写下面的代码直接在项目中执行即可

composer  require  yly/response

 

1.1这里演示一个json接口的工具类(文件定义在App\Http\Controllers\Tools)中

<?php
/**
 * Created by PhpStorm.
 * User: yly
 * Date: 2020/2/18
 * Time: 17:48
 */

namespace App\Http\Controllers\Tools;

class ResponseLayout
{
    //设置一个布尔类型,数据类型,信息类型,通过类型
    public static function apply($bool = true, $data = [], $message = '', $pass = true)
    {
        $res = [];//定义一个空集合
        $data && $res['data'] = $data;
        if ($message) {
            $res['message'] = $message;
        } else {
            $res['message'] = $bool ? '操作成功!' : '操作失败!';
        }
        if ($pass) {
            header('Access-Control-Allow-Origin:*');
        }
        $res['status'] = $bool ? 1 : 0;
        return response()->json($res);
    }
}

2.User控制器调用接口(这里路由就不演示了)

<?php

namespace App\Http\Controllers;
use App\Http\Controllers\Tools\ResponseLayout;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redis;

class UserController extends Controller
{
    //redis显示用户属性
    public function user()
    {
        $data=\DB::table('user')->get();
        return ResponseLayout::apply(true,$data,'成功');
    }
}

3.显示最终结果

3.1用工具类的结果显示如下(显示包含调用成功的信息)

 

3.2不用工具类的返回结果(不包含返回信息)

补充新的json工具类

 public static function apply($bool = true, $message = '', $data = array())
    {
        try {
            $info = [];
            $info['status'] = $bool ? 1 : 0;
            if (empty($message)) {
                $info['message'] = $bool ? '成功' : '失败';
            } else {
                $info['message'] = $message;
            }
            $info['data'] = !empty($data) ? $data : '';
            return response()->json($info);
        } catch (Exception $exception) {
            return $exception->getMessage();
        }

    }

 

posted @ 2020-02-18 19:34  以己为镜  阅读(978)  评论(0编辑  收藏  举报