Laravel 3 で RESTful API のルートを作成するにはどうすればよいですか?
API を作成するために、GET、PUT、POST、および DELETE を使用したいと考えています。
すべてのルートに接頭辞を付けたい/v1/
だから、私はこれを行うことができます:
http://api.example.com/v1/controller/method/parameter
関連するコントローラーを作成して、Auth をチェックし、アクションを実行するだけです。
laravel 3 の代わりに laravel 4 を使用することをお勧めします。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 を使用して安静な API サービスを自分で開発し始めましたが、これまでのところかなりうまくいっています。また、laravel 4 は 5 月にリリースされると言われています。
既存のルートでは、「before」を使用してフィルターを追加し、「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は初めてで、イベントとフィルターについてはまだ調べていません。