欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

php 封装json格式输出

程序员文章站 2022-07-13 11:54:45
...

使用laravel 框架开发app的接口

第一:封装json统一格式输出

主要包含状态码,错误信息,数据

{
    "code":0,
    "msg":"",
    "data":{
        "token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJub25."
    }
}

第二:封装公共的相应方法

php 封装json格式输出
主要方法如下:

<?php

namespace App\Http\Response;

trait ResponseJson
{

    // 失败异常的返回
    public function jsonErrorData($code,$message,$data=[])
    {
        return $this->jsonResponse(0,$message,$data);
    }

    // 成功后的接口返回
    public function jsonSuccessData($data=[])
    {
        return $this->jsonResponse(0,'',$data);
    }
    // 私有函数 ,当前类内部调用外部不使用
    private function jsonResponse($code,$message,$data)
    {
        $content = [
            'code'=>$code,
            'msg' =>$message,
            'data'=>$data
        ];
        return json_encode($content);
    }
}




第三步:外部控制器调用

<?php

namespace App\Http\Controllers;

use App\Common\Auth\JwtAuth;
use App\Http\Response\ResponseJson;
use Illuminate\Http\Request;

class JwtLoginController extends Controller
{
    //
    use ResponseJson;
    public function login(Request $request)
    {
        $username = $request->input('name');
        $password = $request->input('pwd');

        // 去数据库或缓存中验证登录账户 ,假设成功

        $jwtAuth = JwtAuth::getInstance();
        $token = $jwtAuth->setUid(1235)->encode()->getToken();

        return $this->jsonSuccessData(['token'=>$token]);
    }
}

php 封装json格式输出