捕获vue-tables-2组件请求的ruote规则无效



在我的@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;

最新更新