Как использовать API-маршруты в Laravel 5.3

60

В Laravel 5.3 API-маршруты были перемещены в файл api.php. Но как я могу назвать маршрут в файле api.php? Я попытался создать такой маршрут:

Route::get('/test',function(){
     return "ok"; 
});

Я пробовал следующие URL-адреса, но оба возвращали исключение NotFoundHttpException:

  • http://localhost:8080/test/public/test
  • http://localhost:8080/test/public/api/test

Как я могу назвать этот API-маршрут?

Теги:
laravel-5.3

2 ответа

112
Лучший ответ

Вы вызываете его

http://localhost:8080/api/test
                      ^^^

Если вы посмотрите app/Providers/RouteServiceProvider.php, вы увидите, что по умолчанию он устанавливает префикс api для маршрутов API, который вы можете изменить, если вы хотите.

protected function mapApiRoutes()
{
    Route::group([
        'middleware' => 'api',
        'namespace' => $this->namespace,
        'prefix' => 'api',
    ], function ($router) {
        require base_path('routes/api.php');
    });
}
  • 0
    Любая идея, как назвать это в Laravel 5.4? Маршрут API по умолчанию: Route::middleware('auth:api')->get('/user', function (Request $request) { return $request->user(); }); Я пытался localhost / app / api / user, но не работал
  • 0
    @utdev Вы используете точно так же. Удалите сегмент app из вашего URI. Это должно выглядеть в соответствии с localhost/api/user
5

Если вы хотите настроить это или добавить свои собственные файлы маршрутов, посетите приложение \Providers\RouteServiceProvider для вдохновения

https://mattstauffer.co/blog/routing-changes-in-laravel-5-3

Ещё вопросы

Сообщество Overcoder
Наверх
Меню