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(); } }