2017-07-04 23 views
1

私は2つのクライアントアプリケーション、モバイルアプリケーションとangular2管理パネルのAPIに取り組んでいます。複数のルートファイルapiの

両方のアプリケーションのルートを単一のデフォルトroutes/api.phpに書き込むと、これは非常に大きくなります。

だから、私のように、APIのルートファイルを分割したい:私は以下のようにRouteServiceProvideを変更したモバイルアプリを

  1. 角度のアプリのためのroutes/admin.api.php

  2. routes/app.api.php

<?php 

namespace App\Providers; 

use Illuminate\Support\Facades\Route; 
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; 

class RouteServiceProvider extends ServiceProvider 
{ 
    protected $namespace = 'App\Http\Controllers'; 

    public function boot() 
    { 
     // 

     parent::boot(); 
    } 

    public function map() 
    { 
     $this->mapAdminApiRoutes(); 

     $this->mapApiRoutes(); 

     $this->mapWebRoutes(); 

     // 
    } 

    protected function mapWebRoutes() 
    { 
     Route::middleware('web') 
      ->namespace($this->namespace) 
      ->group(base_path('routes/web.php')); 
    } 

    protected function mapApiRoutes() 
    { 
     Route::prefix('api/v1') 
      ->middleware('api') 
      ->namespace($this->namespace) 
      ->group(base_path('routes/api.php')); 
    } 

    protected function mapAdminApiRoutes() 
    { 
     Route::prefix('api/v1') 
      ->middleware('api') 
      ->namespace($this->namespace) 
      ->group(base_path('routes/admin.api.php')); 
    } 
} 

私は、次のエラー

(1/1) FatalErrorException 
Illuminate\Routing\Router::loadRoutes(): Failed opening required 'D:\Workspace\Project Izzmart\izzmart\routes/api.php' (include_path='.;C:\php\pear') 
in Router.php (line 329) 
+0

私はわからないけど持っている'RouteServiceProvider'の' api.php'ルートへの参照は、既存のリクエストの下に追加してください。 –

+0

[laravel 5の1つのメインルートファイルの複数ルートファイルistead]の複製があります。(https://stackoverflow.com/質問/ 34182806 /マルチプルルートファイル - is-1-main-route-file-in-laravel-5) – linktoahref

+0

ルートファイルが保存されているパスを確認してください! – linktoahref

答えて

1
  1. は、2つのルートファイルadmin.api.phpとapp.api.phpを作成して取得しています。 RouteServiceProvider.phpは、以下のようにファイル

  2. 編集:詳細をご覧ください

<?php 
 

 
namespace App\Providers; 
 

 
use Illuminate\Support\Facades\Route; 
 

 

 
class RouteServiceProvider extends ServiceProvider 
 
{ 
 
    protected $namespace = 'App\Http\Controllers'; 
 
    protected $apiNamespace = 'App\Http\Controllers\Api\v1'; 
 

 
    public function boot() 
 
    { 
 

 
     parent::boot(); 
 
    } 
 

 
    public function map(Router $router) { 
 
     $router->group(['namespace' => $this->namespace], function ($router) { 
 
      require app_path('Http/routes/web.php'); 
 
     }); 
 
     $router->group(['namespace' => $this->apiNamespace], function ($router) { 
 
      require app_path('Http/api.php'); 
 
     }); 
 
     $router->group(['namespace' => $this->apiNamespace], function ($router) { 
 
      require app_path('Http/amin.api.php'); 
 
     }); 
 
    } 
 

 
}

here

http://laravel-tricks.com/tricks/laravel-5-multiple-routes-files

+0

本当にありがとう、ありがとう、私は私の記事を更新しました、あなたが私が行方不明であることを教えてください教えてください –

+0

私は答えを更新しました、これを試してみてください –

関連する問題