说我有以下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资源控制器中对此进行编码?
答案 0 :(得分:1)
只需在资源控制器之前/之后定义路由:
Route::resource('users', 'UserController');
Route::get('api/v1/users/{user}/profile', 'UserController@showProfile');
另外 - 我建议您阅读Phil Sturgeon撰写的这篇博客文章,名为“Beware the Route to Evil”,以获取有关不使用资源控制器的一些想法。