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

时间:2015-01-18 13:42:37

标签: rest laravel-4

说我有以下restful URI:

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

Laravel支持上述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资源控制器中对此进行编码?

1 个答案:

答案 0 :(得分:1)

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

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

另外 - 我建议您阅读Phil Sturgeon撰写的这篇博客文章,名为“Beware the Route to Evil”,以获取有关不使用资源控制器的一些想法。