2

Laravel で REST API を作成していますが、理解できないことが 1 つあります。状況は次のとおりです。ユーザーはログインして記事を閲覧し、お気に入りにすることができます。

お気に入りのテーブルは、article_iduser_id

リクエストは次のように設計されています。

  • [GET] /article/24 記事を見る 24
  • [GET] /article/24/favoriteはお気に入り を示し、そうでない場合は 404 を返します
  • [POST] /article/24/favorite お気に入り にする
  • [DELETE] /article/24/favorite お気に入り を削除

問題ないように見えますが、ネストされたリソースはデフォルトで次の形式を想定しています。

/controller/[id]/sub_controller/[sub_id]

このサブ ID要件を回避する最善の方法は何ですか? お気に入りの ID は必要ありません。記事 IDユーザー IDの組み合わせだけでデータベース内のアイテムを見つけることができるからです。

これらは、リクエストの現在のルートです。

Route::resource('articles', 'ArticlesController', 
  array('only' => array('index','store','show','destroy')));

Route::resource('articles.favorite', 'ArticlesFavoriteController', 
  array('only' => array('show','store','destroy')));

現在、正しいルートをトリガーするために、API ユーザーが URL に /0 を追加する必要がありますが、もっと良い方法があるはずです。

4

1 に答える 1

0

ここでは Laravel を使用しないことを検討する必要があると思いますResourceController。特定のニーズに合わせてRestfullControllersを使用する必要があるかもしれません。

于 2013-07-17T06:00:34.983 に答える