2017-05-08 112 views
0

我有一個Laravel的問題。我工作的一個API,每個潰敗給了我200.我想,如果路由沒有在路由是否存在創建一個404錯誤頁面/ api.phpPhp Laravel 404路由

這是我的路線:

Route::group(['prefix' => 'v1'], function($request) { 
 
    //Account management 
 
    Route::group(['prefix' => 'auth'], function ($request) { 
 
     Route::post('/login', 'API\V1\[email protected]'); 
 
     Route::post('/register', 'API\V1\[email protected]'); 
 
     Route::get ('/logout', 'API\V1\[email protected]'); 
 
     Route::post('/reset', 'API\V1\[email protected]'); 
 
    }); 
 

 
    //AUTHENTICATED ROUTES 
 
    Route::group(['middleware' => 'jwt'], function ($request) { 
 

 
     //Api info 
 
     Route::group(['prefix' => 'auth'], function ($request) { 
 
      Route::get ('/appdata', 'API\V1\[email protected]'); 
 
     }); 
 

 
     //Workouts 
 
     Route::group(['prefix' => 'calls'], function ($request) { 
 
      Route::get('/', 'API\V1\[email protected]'); 
 
      Route::get('/{workout_id}', 'API\V1\[email protected]'); 
 
     }); 
 

 
     //Products 
 
     Route::group(['prefix' => 'products'], function ($request) { 
 
      Route::get('/', 'API\V1\[email protected]'); 
 
      Route::get('/{product_id}', 'API\V1\[email protected]'); 
 
      //Route::post('/add', 'API\V1\[email protected]'); 
 
     }); 
 

 
     //Users 
 
     Route::group(['prefix' => 'users'], function ($request) { 
 
      Route::get('/', 'API\V1\[email protected]'); 
 
      Route::get('/{id}/', 'API\V1\[email protected]'); 
 
     }); 
 

 
    }); 
 

 
});

例如,如果我去:localhost:/ abc - >我想加載404錯誤頁面。

謝謝!

+0

當你點擊'本地主機/ abc'是什麼現在回來?默認情況下,對於沒有定義路由的任何東西,它將返回404,你必須在某處定義它。 –

+0

如果我去那條路線,我得到200.我可以去任何我想要的路線,仍然得到200. –

+0

是該文件您的主要routes.php? –

回答

1

轉到handler.php和包括以下在handle()方法

if($e instanceof NotFoundException) { 
    return view('notFoundView'); 
} 
0

我設法解決它。在web.php和api.php我不得不添加下面的行。

Route::get('/{any}', function ($any) { 
 

 
    return view('errors'); 
 

 
})->where('any', '.*');

現在每次的路線是不匹配的,我得到一個自定義錯誤頁(404和500)。