我的lumen版本,5.8

1.找到 app/Http/Controllers/Controller.php

修改成如下代码:

<?php

namespace App\Http\Controllers;

use Laravel\Lumen\Routing\Controller as BaseController;
use Illuminate\Http\Request;
use Illuminate\Validation\ValidationException;

class Controller extends BaseController
{
    //重写认证错误消息
    protected function throwValidationException(Request $request, $validator)
    {

        $response = [
            'code' => 400,
            'msg'  => $validator->errors()->first(),
            'data' => []
        ];
        throw new ValidationException($validator,$this->buildFailedValidationResponse(
            $request, $response));

    }

//    返回成功消息
    protected function responseJson($data = [],$msg = 'success', $status = 200, array $headers = [], $options = 0){

        $response = [
            'code'  =>  $status,
            'msg'   =>  $msg,
            'data'  =>  $data
        ];
        return response()->json($response,$status, $headers, $options);
    }

}

2.在接口中使用

你的类要继承 App\Http\Controllers\Controller;


public function test(Request $request){
    //验证错误自动返回我们指定的格式
    $res = $this->validate($request,[
        'appid' =>  'required',
        'secret'=>  'required',
        'code'  =>  'required'
    ]);
    //成功消息,如果要反返回指定错误码的消息,$this->responseJson($res,'error',400);
    return $this->responseJson($res);
}

解决 laravel-admin between datetime 假如数据库是时间戳int类型无法筛选。

laravel-admin默认的between->datetime(),查询默认是datetime类型,但是假如数据库是时间戳类型就会报错,又不想改底层文件的话可以试试加自定义筛选功能...

阅读全文

php解析英文语句,自动分解。

参考:https://www.php.net/manual/en/function.str-split.php 最近碰到一个问题,客户的英文地址太长,超出接口api字段长度,所以需要解析下语句分解发送。 ...

阅读全文

记录一个laravel-excel导出表格值为0导出excel显示空的解决方法。

最近在使用laravel-excel导出表格的时候,发现假如字段值为0的情况下,导出的excel中直接显示为空,找到一个方法解决,如下. 在laravel-excel的config配置中...

阅读全文

欢迎留言