Я использую Laravel 7 для проекта API, я создал промежуточное программное обеспечение JWT и хочу применить его ко всем моим маршрутам, кроме 2.
Пока у меня есть в моем routes/api.php
:
Route::prefix('v1')->group(function () {
Route::get('ping', 'Api\Ping\PingController@ping');
// auth routes
Route::group(['prefix' => 'login/'], function () {
Route::post('login', 'Api\Auth\AuthController@login');
Route::group(['middleware' => 'jwt:api'], function() {
Route::get('me', 'Api\Auth\AuthController@me');
Route::post('refreshToken', 'Api\Auth\AuthController@refresh');
Route::post('logout', 'Api\Auth\AuthController@logout');
});
});
Route::group(['middleware' => 'jwt:api'], function() {
Route::resource('users', 'Api\User\UserController');
// my other routes protected .....
Мне не нравится этот подход, потому что мне нужно скопировать промежуточное ПО.
Я попробовал этот подход:
Route::group(
[
'middleware' => ['jwt:api', ['except' => 'login/login']],
'prefix' => 'v1/',
], function() {
Но у меня есть эта ошибка:
Недопустимый тип смещения в isset или пусто
Возможно ли это? Я хочу сгруппировать все в моем файле маршрута.