3
我發現了有關處理嵌套資源控制器和傳遞多個約束的好信息,但似乎沒有在這個特定問題上找到任何東西(可能是因爲我正在考慮它一切都錯了!)。在創建REST API時使用Laravel嵌套動態資源控制器的正確方式
如果我要創建我的API以下
- /汽車(顯示所有汽車)
- /汽車/ 1(顯示carId = 1)
- /汽車/ 1 /性能(顯示carId = 1的性能)
- /cars/1/performance/parts(顯示carId = 1的部件性能)
- /cars/1/performance/parts/1(顯示carId的partId = 1的性能= 1)
- /汽車/性能(顯示所有的汽車的性能)
- /汽車/性能/份
- /份
- /部件/ 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)和HA在代碼中查找不同的路線?
非常感謝,這是我所需要的。當你第一次開始使用路由,mvc和REST API時,有很多概念讓你頭腦發熱,所以應用它們有時候會讓人困惑! – 2015-03-25 14:11:31
我想我的後續問題是如何或是否符合REST原則,因爲一旦我開始使用 Route :: get('car/{car}/performance','CarController @ performance'); am然後,我沒有離開嚴格的GET/PUT/DELETE等REST原則 – 2015-03-25 16:03:51
我的理解你的應用程序的方式,「性能」端點只是整理統計數據並將其返回,而不是將它們本身作爲一個實體更新,刪除等。這是正確的嗎? – 2015-03-25 20:55:29