如何在 Laravel 5.3 中使用 API 路由

How to use API Routes in Laravel 5.3

在 Laravel 5.3 API 中,路由被移动到 api.php 文件中。但是如何调用 api.php 文件中的路由呢?我试图创建这样的路线:

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

我尝试了以下 URL,但都返回了 NotFoundHttpException 异常:

如何调用此 API 路由?

你叫它

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');
    });
}

routes/api.php

Route::get('/test', function () {
    return response('Test API', 200)
                  ->header('Content-Type', 'application/json');
});

映射在服务提供商中定义App\Providers\RouteServiceProvider

protected function mapApiRoutes(){
    Route::group([
        'middleware' => ['api', 'auth:api'],
        'namespace' => $this->namespace,
        'prefix' => 'api',
    ], function ($router) {
        require base_path('routes/api.php');
    });
}