2

質問

GETどうすればリソースを動詞ではなく、デフォルトの , POST, PUT,アクション以外の特別なアクションを維持することができるDELTEでしょうか?

詳細

RESTful API を構築する適切な方法について、しばらくの間探していました。そこにはたくさんの素晴らしい情報があります。今、私は実際にこれを自分のウェブサイトに適用しようとしていますが、いくつかの問題に遭遇しました.

当サイトが行うこと:

  • 私たちのサイトでは、人々がゲームをプレイして賞品を獲得することができます。

  • この API により、開発者は独自のゲームを構築し、バックエンドを使用してユーザー情報を収集、検証、保存し、賞品を贈ることができます。

シナリオ:

開発者はゲームを作成し、API を呼び出してプレイヤーがゲームをプレイできるようにします ( play_game)。このplay_game方法は、開発者に個別に実行させたくない複数の機能を組み合わせます。

サーバー上でのplay_game呼び出しの動作は次のとおりです。

  1. 開発者が保存したいプレーヤーデータを受け入れます。
  2. データを検証します (コントロール パネルのルール設定と比較します)
  3. 与えられるべき賞を計算します。
  4. 獲得した賞品を開発者に返します。
  5. さらに、電子メールの送信など、トリガーされる舞台裏の複数の機能があります。

リソース 現在のリソースは次のようになります。

 http://site.com/api/play_game

問題:

これは、RESTful API に動詞がないという考えには当てはまりません。

このリソースを動詞ではなくするにはどうすればよいでしょうか...ただし、デフォルトGETのアクション以外の特別なアクションを維持するにはどうすればよいでしょうか?POSTPUTDELTE

ノート:

この質問をした後、私は Phil Sturgeons RESTful フレームワークを使用することにしました...誰かがより良いアイデアを持っていない限り。

4

1 に答える 1

1

次のコードをapplications/routes.phpに配置できます

$route['(.*)'] = 'api';

次に、次のようにAPIにアクセスできます: http ://site.com/play_game

しかし

1つのコントローラー(APIコントローラー)にのみアクセスできます。お役に立てば幸いです。

于 2012-08-21T18:19:51.780 に答える