捕获App\Http\Requests验证类抛出的异常
异常捕获
php 版本 :7.4.49
laravel版本 Laravel Framework :8.60.0
创建验证类
php artisan make:request TestPost
# 规则如下
return [
'id' => 'required',
'platform' => 'required|in:1001,1002,1003,1004,1005,1007',
];
控制器中
public function collect(TestPost $request){
$request->validated();
}
使用postman请求,参数为 id:123,platform:100
{
"message": "The given data was invalid.",
"errors": {
"platform": [
"The selected platform is invalid."
]
},
"status_code": 422
}
想要自定义返回的内容
{
code:1,
msg:'The given data was invalid',
data:null
}
查看资料说在App\Exceptions\Handler类中 重写 render()即可,经测试无效
public function render($request, Throwable $e)
{
if ($e instanceof ValidationException) {
return response(['code' => 1, 'msg' => 'test msg', 'data' => null]);
}
return parent::render($request, $e);
}
应该如何自定义相应返回的内容呢?