您好,登錄后才能下訂單哦!
本篇文章為大家展示了怎么在laravel中利用dingo API返回自定義錯誤信息,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
laravel 在使用了 dingo API 后,錯誤信息被dingo異常類接管了,返回信息變成了 :
要返回自定義的錯誤信息,就需要再把錯誤異常類接管回來(大概這個意思...)
方法:
在 app\Providers\AppServiceProvider.php 中的 boot() 方法 添加如下代碼:
app('api.exception')->register(function (\Exception $exception) { $request = Request::capture(); return app('App\Exceptions\Handler')->render($request, $exception); });
然后在 app\Exceptions\Handler.php 中 重寫 laravel核心包的方法convertValidationExceptionToResponse(),具體代碼如下:
public function convertValidationExceptionToResponse(ValidationException $e, $request) { $data = $e->validator->getMessageBag(); $msg = collect($data)->first(); if(is_array($msg)){ $msg = $msg[0]; } return ['code'=> -1,'msg'=>$msg]; }
這個方法里面的代碼僅供參考,可自由發(fā)揮。
之后再調(diào)用接口會發(fā)現(xiàn): ,內(nèi)容為自定義的了。
上述內(nèi)容就是怎么在laravel中利用dingo API返回自定義錯誤信息,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。