【发布时间】:2013-06-01 12:01:50
【问题描述】:
我上周开始使用 Laravel 3,然后找到了新的 4 版本,我现在正在尝试转换。
我有十多个路由要传递给特定的控制器方法。即“/api/v1/owners/3/dogs/1 或 /api/v1/owners/3”来运行“myresourcecontroller@processRequest”
在 Laravel 3 中我可以使用这个:(注意 * 通配符)
Route::any('api/v1/owners*', 'owners@processRequest'); // Process tags resource endpoints
我从文档中找到了这个示例,但它给了我一个错误。我得到一个 NotFoundHttpException。
//[Pattern Based Filters](http://laravel.com/docs/routing#route-filters)
Route::filter('admin', function()
{
//
});
Route::when('admin/*', 'admin');
不确定我做错了什么?有没有其他方法可以做到这一点?
我不想使用 Laravel 4 restful 控制器,因为它们似乎不符合完整的 restful 设计。即,网址中没有动词。
我的所有处理都写好了,我只需要能够路由到它。 我需要能够通过 POST /api/v1/owners 或 /api/v1/owners/3/dogs 创建新记录 我无法使用 /api/v1/owners/create。
我试图避免为每个端点编写路由,即,
Route::any('api/v1/owners/{owner_id}', 'owners@processRequest');
Route::any('api/v1/owners/{owner_id}/dogs/{dog_id}', 'owners@processRequest');
感谢您的帮助
【问题讨论】:
标签: api rest wildcard routes laravel-4