3

Rails 2.3 アプリ (Heroku でホスト) を開発者に公開したいと考えています。これを行うには、次の 2 つの方法を考えました。

  1. Respond_to |フォーマット| の使用 アプリの、および許可された開発者の API キーのみを許可する before_filter
  2. API 専用の 2 つ目の Heroku アカウントを使用して、元のアプリのデータベースを共有します。さて、Rails、Sinatra、またはGrapeのどれが良いでしょうか?

これが漠然とした質問であることは承知しています。私に役立つ良い記事やアーキテクチャ パターンはありますか?

ありがとう、

ケビン

4

2 に答える 2

7

ぶどうを使用しています。これは単純で、より明確な分離とセマンティクスを可能にします。API は実際にはコントローラーではありません。

于 2011-07-29T13:54:59.150 に答える
4

新しいルートを追加します

website.com/api/widget/

website.com/api/another_service/

そして、API ルーティングの下で​​自然に見えるコントローラーを作成します。

次に、API キーをチェックしたいがチェックする前のフィルターを使用してモジュールを作成します。

class WidgetController < ActionController::Base
    include 'api_keyable'
    :before_filer :validate_api_key

    def create
        #However you create a widget from the params.
        # respond to XML, YAML, JSON, whatever
    end

end

後で一方のアプリで website.com/api/widgets を処理し、もう一方のアプリで website.com/api/wadgets を処理する必要があることに気付いた場合、エンド ユーザーは決して知らないので、コードを大幅に変更する必要はありません。

于 2010-12-20T12:57:12.843 に答える