Я нашел хорошую информацию об обработке вложенных контроллеров ресурсов и передаче нескольких ограничений, но, похоже, ничего не нашел по этой конкретной проблеме (вероятно, потому что я неправильно об этом думаю!).
Если я хочу создать следующее в своем API
- /cars (показать все автомобили)
- /cars/1 (показать carId = 1)
- /cars/1/performance (показать производительность для carId=1)
- /cars/1/performance/parts (показать производительность запчастей для carId=1)
- /cars/1/performance/parts/1 (показать производительность partId=1 для carId=1)
- /cars/performance (показать производительность всех автомобилей)
- /автомобили/производительность/детали
- /детали
- /parts/1 и т. д. (то же самое для деталей, что и автомобили выше)
должен ли я создавать маршруты и контроллеры для большинства из них таким образом
Route::group(array('prefix' => 'myAwesomeCarApi'), function()
{
Route::resource('cars', 'CarsController');
Route::resource('cars/performance', 'CarsPerController');
Route::resource('cars/performance/parts', 'CarsPerPartsController');
Route::resource('cars.performance/parts', 'CarsPerPartsController');
Route::resource('parts', 'PartsController');
Route::resource('parts/performance', 'PartsPerController');
etc...
});
или есть какая-то хитрость, которую мне не хватает для создания динамических контроллеров, например, только 3 (CarController, PartsController, PerformanceController) и обработки разных маршрутов в коде?