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

问题描述 投票:0回答:1

在我的@ 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}', 'API\Admin\ActivityLogController@filter');

但是我收到404错误,

我的路线无效吗?

UPDATED#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}', 'API\Admin\ActivityLogController@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  ));

为什么出错?

谢谢!

laravel routing
1个回答
1
投票

我认为您忘记了将api放在prefix

Route::group(['middleware' => 'jwt.auth',  'prefix' => 'api/adminarea', 'as' => 'adminarea.'], function ($router) {

编辑

不要在这样的路由上放置参数,请使用Request实例

Route::get('activity-logs-filter,'API\Admin\ActivityLogController@filter');

和控制器

public function filter(Request $request){
    $query = $request->query;
    $limit = $request->limit;
    $ascending = $request->ascending;
    $page = $request->page;
    $column = $request->column;

不要忘记控制器上的use Illuminate\Http\Request;

© www.soinside.com 2019 - 2024. All rights reserved.