场景:api和网站都同时用到了同一个 request,但是api需要返回json数据。
处理:定义基类request,在类中重写failedValidation方法
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Contracts\Validation\Validator;
use Illuminate\Http\Exceptions\HttpResponseException;
abstract class Request extends FormRequest
{
protected function failedValidation(Validator $validator)
{
throw (new HttpResponseException(response()->json([
'code'=>422,
'msg'=>$validator->errors(),
'data'=>null
],422)));
}
}
最后在自定义的XXXrequest类中继承上面的基类Request即可