在我的@vue/cli 4.0.5应用程序中使用vue-tables-2组件我看到GET请求生成
http://local-ctasks-api.com/api/adminarea/activity-logs-filter?query=&limit=10&ascending=1&page=1&byColumn=0
我在Laravel 6后端REST API中尝试将路由设置为:
Route::group(['middleware' => 'jwt.auth', 'prefix' => 'adminarea', 'as' => 'adminarea.'], function ($router) {
Route::get('activity-logs-filter?query={query}&limit={limit}&ascending={ascending}&page={page}&byColumn={column}', 'APIAdminActivityLogController@filter');
但我得到404错误,
我的路线无效吗?
更新#1:是的,不能使用带有"/api"的var。我修复了它并在没有"/adminarea"的情况下运行请求
http://local-ctasks-api.com/api/activity-logs-filter?query=&limit=10&ascending=1&page=1&byColumn=0
我将路线定义从任何块中移出:
Route::get('activity-logs-filter?query={query}&limit={limit}&ascending={ascending}&page={page}&byColumn={column}', 'APIAdminActivityLogController@filter');
我在浏览器中出错:
"error": "INCORRECT ROUTE"
具有在app/Http/Controllers/API/Admin/ActivityLogController.php中定义的控制操作:
public function filter( $query, $limit, $ascending, $page, $column )
{
Log::info('!!++ filter $this->requestData ::');
Log::info(print_r( $this->requestData, true ));
为什么会出错?
谢谢!
我想你忘了把api
放在prefix
上了
Route::group(['middleware' => 'jwt.auth', 'prefix' => 'api/adminarea', 'as' => 'adminarea.'], function ($router) {
编辑:
不要把参数放在路由上,使用Request
实例
Route::get('activity-logs-filter,'APIAdminActivityLogController@filter');
和控制器
public function filter(Request $request){
$query = $request->query;
$limit = $request->limit;
$ascending = $request->ascending;
$page = $request->page;
$column = $request->column;
不要忘记控制器上的use IlluminateHttpRequest;