2017-05-08 116 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)。