4-07 3,966 views
我的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);
}