Проблема маршрутизации Laravel API - PullRequest
0 голосов
/ 17 октября 2019

Я работаю над Laravel 5 и запускаю API, поэтому я просто создал очень простой маршрут и контроллер, чтобы проверить, где будет достигнут маршрут. Это то, что у меня есть в routes\api.php

Route::group(array('prefix' => 'test', 'middleware' => ['guest']), function()
{
    Route::get('/', 'Aiapi\BaseAIApiController@index');

});

И контроллере:

class BaseAIApiController extends Controller
{
    public function index()
    {
        return 'HI';
    }
}

В моем Http\Kernel.php это то, как гостевое промежуточное ПО объявлено внутри $routeMiddleware variable: 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, и это содержимое метода handle (я прокомментировал блок if, и происходит то же самое):

public function handle($request, Closure $next, $guard = null)
{
    if (Auth::guard($guard)->check()) {
        return redirect('/home');
    }

    return $next($request);
}

Когда я выполняю php artisan route:list, я вижу этот маршрут там,Я также выполнил php artisan route:clear, но когда я нажал /api/test/, меня перенаправили на домашнюю страницу сайта. Вот содержимое .htaccess внутри папки public:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    RewriteRule thumb/([[:alnum:]]+)\/(.*) thumbnail/?src=$2&params=$1 [QSA,L,NC]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

Я попытался удалить блок строки с помощью 301 redirect, но он делает то же самое. Что я здесь делаю не так? Я пытался ответить на похожие вопросы в StackOverflow, и пока что ни один из них не помог мне.

Спасибо за любую помощь

1 Ответ

0 голосов
/ 19 октября 2019

Я нашел проблему. То, как я описываю свои маршруты и мой контроллер, должно работать идеально. Я выяснил, что в этом приложении, над которым я работаю, есть поставщик языка, который в основном заставляет все маршруты начинаться с en, fr или admin.

Это было причинойпроблема у меня была

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...