Я строю макет API с помощью контроллеров ресурсов Laravel, все работает хорошо, пока я не попытаюсь переопределить маршрут ресурсов Laravel по умолчанию при вызове get create, но Laravel просто не примет перезапись. В документации указано следующее:Laravel 5.2 Маршрутизация ресурсов переопределяет действия по умолчанию
Если возникает необходимость добавлять дополнительные маршруты к контроллеру ресурсов за пределы маршрутов ресурсов по умолчанию, вы должны определить эти маршруты перед вызовом Route :: resource; в противном случае, маршруты, определенные по методу ресурсов, может непреднамеренно взять верх над вашими дополнительными маршрутами:
В моем коде я следующее:
routes.php
Route::group(['prefix' => 'api/v1', 'middleware' => 'cors'], function() {
Route::get('test/create', 'V1\Universal\[email protected]');
Route::resource('test', 'V1\Universal\TestController');
});
TestController.php
public function create2()
{
return "create 2 override function";
}
public function create()
{
return "create default function";
}
При вызове API/api/v1/test/create его всегда срабатывает метод create(), а именно n метод create2(). Согласно документации Laravel, мой пользовательский дополнительный маршрут должен иметь приоритет, как определено перед ресурсом.
Любые идеи?