Description
Hi CodeIgniter team:
The filter api-auth only works with GET request on base path:
// Routes.php
$routes->group(
'api',
['namespace' => 'App\Controllers\Api', 'filter' => 'api-auth'],
function(\CodeIgniter\Router\RouteCollection $routes) {
$routes->resource('posts', [
'controller' =>'PostController',
]);
}
);
| api/posts | get | \App\Controllers\Api\PostController::index works
| api/posts/new | get | \App\Controllers\Api\PostController::new doesn't work
| api/posts/(.)/edit | get | \App\Controllers\Api\PostController::edit/$1 doesn't work
| api/posts/(.) | get | \App\Controllers\Api\PostController::show/$1 doesn't work
| api/posts | post | \App\Controllers\Api\PostController::create doesn't work
| api/posts/(.) | put | \App\Controllers\Api\PostController::update/$1 doesn't work
| api/posts/(.) | delete | \App\Controllers\Api\PostController::delete/$1 doesn't work
I'm reviewing and I see that it works in the following way:
// Routes.php
$routes->group(
'api',
['namespace' => 'App\Controllers\Api'],
function(\CodeIgniter\Router\RouteCollection $routes) {
$routes->get('courses/(:num)', 'CourseController::show/$1');
$routes->resource('courses', [
'controller' =>'CourseController',
]);
}
);
// Filters.php
public $filters = [
'api-auth' => ['before' => ['api*']]
];
Activity