如何在 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 异常:
http://localhost:8080/test/public/test
http://localhost:8080/test/public/api/test
如何调用此 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');
});
}
在 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 路由?
你叫它
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');
});
}