Laravel 5.3'te API Rotaları nasıl kullanılır?


94

Laravel 5.3'te API yolları api.php dosyasına taşındı. Fakat api.php dosyasında bir rotayı nasıl arayabilirim? Bunun gibi bir rota oluşturmaya çalıştım:

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

Aşağıdaki URL'leri denedim ancak her ikisi de NotFoundHttpException istisnasını döndürdü:

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

Bu API yolunu nasıl çağırabilirim?


Yanıtlar:


177

Diye çağırıyorsun

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

İçeriye bakarsanız, app/Providers/RouteServiceProvider.phpvarsayılan apiolarak API yollarının önekini ayarladığını görürsünüz , tabii ki isterseniz bunu değiştirebilirsiniz.

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

Laravel 5.4'te buna nasıl isim verileceği hakkında bir fikriniz var mı? Varsayılan api yolu: Route::middleware('auth:api')->get('/user', function (Request $request) { return $request->user(); }); localhost / app / api /
user'ı

@utdev Sen de aynısını kullanıyorsun. URI'nizden appsegmenti kaldırın . Şu satırlara localhost/api/user
bakmalı


1

yollar / api.php

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

Eşleme, servis sağlayıcı App \ Providers \ RouteServiceProvider'da tanımlanır

protected function mapApiRoutes(){
    Route::group([
        'middleware' => ['api', 'auth:api'],
        'namespace' => $this->namespace,
        'prefix' => 'api',
    ], function ($router) {
        require base_path('routes/api.php');
    });
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.