Laravel 5.3でAPIルートを使用する方法


93

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ルートを呼び出すにはどうすればよいですか?


回答:


173

あなたはそれを

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

調べてapp/Providers/RouteServiceProvider.phpみると、デフォルトでapiAPIルートのプレフィックスが設定されていることがわかります。もちろん、必要に応じて変更できます。

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

laravel 5.4でそれをどのように呼び出すか考えていますか?デフォルトのAPIルート:Route::middleware('auth:api')->get('/user', function (Request $request) { return $request->user(); }); localhost / app / api / userを試しましたが、機能しませんでした
utdev

@utdevまったく同じように使用します。appURIからセグメントを削除します。これは、の線に沿って見なければならないlocalhost/api/user
peterm


1

route / 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');
    });
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.