2016-04-08 3 views
1

Я ищу вариант, как удалить {one?}/{ два?}/{три?}/{four?}/{five?} это из маршрутов. Это автоматически добавляется в каждых маршрутах какИсправлена ​​ошибка {one?}/{Two?}/{Three?} В Laravel 5 маршрутах

v1/webapi/login/{one?}/{two?}/{three?}/{four?}/{five?} 
v1/webapi/logout/{one?}/{two?}/{three?}/{four?}/{five?} 

В маршрутах файла использует ниже маршрут

Route::group(['prefix' => 'v1', 'middleware' => 'webapi'], function(){ 
    Route::controller('webapi', 'WebApiController'); 
}); 

Может у кого есть такая же проблема?

+0

Можете ли вы показать код с 'webapi'? –

+0

webapi - это файл контроллера, где у меня есть все написанные функции – codeLover

ответ

0

Короткий ответ - вы не можете удалить его. Этот метод https://github.com/laravel/framework/blob/5.2/src/Illuminate/Routing/ControllerInspector.php#L132 добавляет эти параметры подстановки.

Единственный способ избавиться от него - переписать Router и использовать свой собственный ControllerInspector, но это бессмысленно и довольно сложно.


UPDATE

Но если вы действительно хотите сделать это, есть один Hacky решение:

foreach (\Route::getRoutes() as $route) { 
     $route->setUri(preg_replace('%\{one\?\}/\{two\?\}/\{three\?\}/\{four\?\}/\{five\?\}$%', '', 
      $route->getUri())); 
    } 

поместить этот код в RouteServiceProvider.phpboot метода.

Смежные вопросы