主頁 > 知識庫 > laravel接管Dingo-api和默認(rèn)的錯誤處理方式

laravel接管Dingo-api和默認(rèn)的錯誤處理方式

熱門標(biāo)簽:高德地圖標(biāo)注店鋪收費嗎 江西電銷機器人收費 欣思維地圖標(biāo)注 天潤融通外呼系統(tǒng)好嗎 電銷機器人沒有效果怎么樣 泊頭在哪里辦理400電話 江門回?fù)芡夂粝到y(tǒng) 杭州語音電銷機器人 高德地圖標(biāo)注位置怎么標(biāo)注

接管Dingo-api的錯誤

如上圖所示,AppServiceProvider.php中的register()方法中添加如下代碼

\API::error(function (\Illuminate\Validation\ValidationException $exception){
  $data =$exception->validator->getMessageBag();
   $msg = collect($data)->first();
   if(is_array($msg)){
     $msg = $msg[0];
   }
   return response()->json(['message'=>$msg,'status_code'=>400], 200);
 });
 \API::error(function (\Dingo\Api\Exception\ValidationHttpException $exception){
   $errors = $exception->getErrors();
   return response()->json(['message'=>$errors->first(),'status_code'=>400], 200);
 });

接管laravel的錯誤

在Exceptions的Handler.php的render中寫入以下代碼

public function render($request, Exception $exception)
  {
    if($exception instanceof \Illuminate\Validation\ValidationException){
      $data = $exception->validator->getMessageBag();
      $msg = collect($data)->first();
      if(is_array($msg)){
        $msg = $msg[0];
      }
      return response()->json(['message'=>$msg],200);
    }

    if (in_array('api',$exception->guards())){
      if($exception instanceof AuthenticationException){
        return response()->json(['message'=>'token錯誤'],200);
      }
      if($exception instanceof ModelNotFoundException){
        return response()->json(['message'=>'該模型未找到'],200);
      }

    }

    return parent::render($request, $exception);
  }

以上這篇laravel接管Dingo-api和默認(rèn)的錯誤處理方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Laravel如何實現(xiàn)適合Api的異常處理響應(yīng)格式
  • Laravel5.5+ 使用API Resources快速輸出自定義JSON方法詳解
  • 在Laravel中使用GuzzleHttp調(diào)用第三方服務(wù)的API接口代碼
  • Laravel實現(xiàn)ApiToken認(rèn)證請求
  • laravel框架 api自定義全局異常處理方法
  • laravel dingo API返回自定義錯誤信息的實例
  • laravel 配置路由 api和web定義的路由的區(qū)別詳解
  • Laravel5.4簡單實現(xiàn)app接口Api Token認(rèn)證方法
  • 詳解Laravel制作API接口

標(biāo)簽:大同 雙鴨山 石嘴山 駐馬店 江門 深圳 內(nèi)江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《laravel接管Dingo-api和默認(rèn)的錯誤處理方式》,本文關(guān)鍵詞  laravel,接管,Dingo-api,和,默認(rèn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《laravel接管Dingo-api和默認(rèn)的錯誤處理方式》相關(guān)的同類信息!
  • 本頁收集關(guān)于laravel接管Dingo-api和默認(rèn)的錯誤處理方式的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章