0

如何在 Laravel 3 中为 RESTful API 创建路由?

我想使用 GET、PUT、POST 和 DELETE 来创建 API。

我希望所有路线都以/v1/

所以,我可以这样做:

http://api.example.com/v1/controller/method/parameter并且只需创建相关的控制器来检查 Auth 并执行操作。

4

2 回答 2

2

我建议你使用 laravel 4 而不是 laravel 3。Laravel 4 非常擅长创建 RESTful API,你可以很快上手。这是一个如何:

http://net.tutsplus.com/tutorials/php/laravel-4-a-start-at-a-restful-api/

如果您是 API 新手,也可以观看此视频

https://blog.apigee.com/detail/restful_api_design

他们建议像这样传递参数:api.test.com/v1/dogs?state=running

我最近开始使用 laravel 4 自己开发一个 RESTful API 服务,到目前为止进展顺利。据说 laravel 4 也将在 5 月发布。

于 2013-04-03T23:05:29.093 回答
0

对于已经存在的路由,我假设您需要添加一个带有“之前”的过滤器,然后将“url”作为前缀,将其传递回原始路由。

所以在 routes.php 中,类似:

Route::get('login', 'user@login', array('before' => 'guest'));
Route::post('login', 'user@login', array('before' => 'guest'));
Route::get('logout', 'user@logout', array('before' => 'auth'));

Route::filter('before', function()
{
    // Do stuff before every request to your application...
        $url = "test";
        $controller = "user@test";
        $filter = array('before' => 'guest');
        return Route::get('/v1/' . $url, $controller, $filter);
});

但我不确定如何用传入的请求填写 $url、$controller、$filter(也许 Request:: 有一些东西)。

虽然我也是 Laravel 的新手,还没有研究过事件和过滤器。

于 2013-04-03T22:17:36.130 回答