南强小屋 Design By 杰米
Laravel 默认验证不通过后响应格式如下,有时此格式并不满足自己要求,需要修改格式。
// status 422 { "message":"The given data was invalid.", "errors":{ "url":[ "url 无效的格式" ] } }
当 Request 验证失败时会抛出 ValidationException
异常,最终交由全局异常Handler
类处理。Handler
继承自Illuminate\Foundation\Exceptions\Handler
,框架中的Handler
类调用render
处理异常并进行响应,针对于ValidationException
异常又调用了convertValidationExceptionToResponse
方法来处理。代码
protected function convertValidationExceptionToResponse(ValidationException $e, $request) { if ($e->response) { return $e->response; } return $request->expectsJson() "htmlcode">protected function invalidJson($request, ValidationException $exception) { return response()->json([ 'message' => $exception->getMessage(), 'errors' => $exception->errors(), ], $exception->status); }追踪到
invalidJson()
,发现他就是用来处理参数验证异常响应格式的方法。在App\Exceptions\Handler
类中,重写invalidJson()
方法即可。protected function invalidJson($request, ValidationException $exception) { return response()->json([ 'code' => 0, 'data' => $exception->errors(), ], $exception->status); }最终,验证失败的响应格式如下
// status 422 { "code": 0, "data":{ "url":[ "url 无效的格式" ] } }总结
南强小屋 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
南强小屋 Design By 杰米
暂无Laravel 修改验证异常的响应格式实例代码详解的评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。