博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
laravel 修改api返回默认的异常处理
阅读量:4111 次
发布时间:2019-05-25

本文共 982 字,大约阅读时间需要 3 分钟。

默认如果使用api请求创建或者获取如果使用了改模型的Request来验证的话,如果被rule挡掉,会返回404,而不会返回错误信息。

修改后匹配所有api/*请求的返回:

//app/Exceptions/Handler.php    /**     * Render an exception into an HTTP response.     *     * @param  \Illuminate\Http\Request  $request     * @param  \Exception  $exception     * @return \Illuminate\Http\Response     */    public function render($request, Exception $exception)    {        //如果路由中含有“api/”,则说明是一个 api 的接口请求        if($request->is("api/*")){            //如果错误是 ValidationException的一个实例,说明是一个验证的错误            if($exception instanceof ValidationException){                $result = [                    "code"=>422,                    //这里使用 $exception->errors() 得到验证的所有错误信息,是一个关联二维数组,所以使用了array_values()取得了数组中的值,而值也是一个数组,所以用的两个 [0][0]                    "msg"=>array_values($exception->errors())[0][0],                    "data"=>""                ];                return response()->json($result);            }        }        return parent::render($request, $exception);    }

转载地址:http://xorsi.baihongyu.com/

你可能感兴趣的文章
npm配置淘宝镜像仓库以及electron镜像
查看>>
linux设置开机自启动脚本的最佳方式
查看>>
VUE SPA 单页面应用 微信oauth网页授权
查看>>
phpstorm 集成 xdebug 进行调试
查看>>
npm和node升级的正确方式
查看>>
laravel事务
查看>>
springcloud 连续请求 500
查看>>
vue复用新增和编辑表单
查看>>
Ubuntu 16.04 apt-get更换为国内阿里云源
查看>>
laravel部署到宝塔步骤
查看>>
小程序获取access_token
查看>>
navicat远程连接mysql数据库
查看>>
tp5令牌数据无效 解决方法
查看>>
自己的网站与UCenter整合(大致流程)
查看>>
laravel 制作通用的curd 后台操作
查看>>
【小红书2017年笔试】求一个数组中平均数最大的子数组
查看>>
Linux基础系列-定时器与时间管理
查看>>
Linux基础系列-可执行程序的产生过程
查看>>
Linux基础系列-Kernel 初始化宏
查看>>
Linux子系统系列-I2C
查看>>