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


return [

/*
|--------------------------------------------------------------------------
| customized http code
|--------------------------------------------------------------------------
|
| The first number is error type, the second and third number is
| product type, and it is a specific error code from fourth to
| sixth.But the success is different.
|
*/

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

  

原文:https://blog.csdn.net/qq_34827048/article/details/78486599

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112439.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • js全局变量详解

    js全局变量详解前言本文主要介绍3种全局变量的定义方式以及开发中会遇到的一些问题,再加上一点个人见解。首先简单的介绍一下3种全局变量的定义方式vara=1;//方式1b=2;//方式2window.c=3;//方式3这3种形式定义出来的全局变量都属于window对象对于方式1我们都不陌生,方式3也看过不少,方式2的隐似创建方式我们或多或少都干过,例如vara=1;funct

    2022年6月9日
    57
  • DLL注入之使用SetWindowsHookEx注入「建议收藏」

    DLL注入之使用SetWindowsHookEx注入「建议收藏」原理分析:本次介绍的是使用全局钩子的方式进行注入。在Windows中可以使用SetWindowsHookEx来设置消息钩子,这个函数除了可以设置当前进程的钩子之外,它还可以设置全局钩子。全局钩子,顾名思义,即当前正在运行的进程都会被设置相应的钩子。//dwThreadId设置为0,则是全局钩子。HHOOKSetWindowsHookExA(intidHook,…

    2022年5月13日
    42
  • 网页中的兼容性视图设置在哪_找不到兼容性视图设置

    网页中的兼容性视图设置在哪_找不到兼容性视图设置浏览器兼容性视图设置在浏览器右上角的设置里,设置方法如下:方法11、首先,打开电脑,找到电脑桌面上的IE浏览器,并点击打开,打开后,进入任一网页,找到页面右上方的的设置图标,如下图所示,点击。2、点击这个设置图标后,会展开下图所示的选项,请找到下方的F12开发人员工具(L),并点击进入。3、这时候,浏览器下方会出现一个设置框,找到“浏览器模式”选项,点击,然后找到下方的“兼容性视图”勾选并确认,I…

    2025年10月6日
    5
  • 一步一步来:MQTT服务器搭建、MQTT客户端使用

    一步一步来:MQTT服务器搭建、MQTT客户端使用物联网应用如火如荼,本文就物联网应用中最受青睐的协议MQTT相关测试工具的使用进行简单说明。希望此文能给需要用到的朋友一些微薄的帮助……一、MQTT服务器(emqx)搭建1.下载服务器MQTTBroker从https://www.emqx.io/cn/mqtt/public-mqtt5-broker下载MQTTBroker。这里我使用的windows系统,下载对应版本工具:emqx-windows-v4.1-rc.2.zip下载好后,解压目…

    2022年6月5日
    44
  • sql prompt插件的安装

    sql prompt插件的安装这里写自定义目录标题UnabletoconnecttotheRedgateClientService解决方法新手小白,记录一下第一次安装MicrosoftSQLServerManagementStudio(以下简称为ssms),以及它的插件sqlprompt遇到的问题。UnabletoconnecttotheRedgateClientService首先,成功安装了ssms,然后下载了sqlprompt插件的安装包。可以去它的官网下载,懒得找的话我也帮忙找到了它的

    2022年7月15日
    12
  • Android四大组件和启动模式(面试总结)

    Android四大组件和启动模式(面试总结)

    2021年10月1日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号