首页 > 解决方案 > REST - 嵌套资源和控制器 & Laravel

问题描述

我想知道关于控制器的 RESTful 设计的最佳实践是什么。所以我有一个如下的 URL 结构......

Route::get('/clients', 'ClientController@index');
Route::get('/clients/{client}', 'ClientController@show');
Route::get('/clients/{client}/{job}', 'JobController@show');
Route::get('/jobs/{job}', 'JobController@show'); 

现在在第三条路线的控制器中,我需要进行一些检查以确保该作业属于该客户端,但我也能够独立于客户端查看作业,例如路线 4。所以我是什么想知道是拆分此逻辑的最佳方法,我应该...

  1. 在 ClientController 上创建一个新方法,该方法处理获取作业并确保它属于该客户端。
  2. JobController 上有两种单独的方法,一种用于获取作业,另一种用于获取并检查它是否属于该客户端。
  3. 创建一个新的 ClientJobsController,它处理我们需要将作业与客户端相关联的任何逻辑。

希望这是有道理的,谢谢!

标签: laravelrestcontrollerroutes

解决方案


推荐阅读