Laravel 4 资源控制器:如何管理非集合资源



假设我有以下宁静的 URI:

api/v1/users/username1
api/v1/users/username2
api/v1/users/username3

Laravel支持上述URI的资源控制器和路由。我不确定我的术语是否正确,但我喜欢将这些类型的 URI 称为基于集合的 URI,即 api/v1/users将显示用户列表,api/v1/users/{username}显示用户集合的特定用户。

但是,如果我们有以下 URI 怎么办;

api/v1/users/username1/profile
api/v1/users/username2/profile
api/v1/users/username3/profile

我喜欢称这些资源为"单一"资源,即它们不是集合的一部分。每个用户都有一个单一的配置文件。

我的问题:有没有办法在 laravel 资源控制器中为此编写代码?

只需定义资源控制器之前/之后的路由:

  Route::resource('users', 'UserController');
  Route::get('api/v1/users/{user}/profile', 'UserController@showProfile');

另外 - 我建议您阅读 Phil Sturgeon 的这篇名为"小心邪恶之路"的博客文章,以获取有关不使用资源控制器的一些想法。

最新更新