2010-12-20 9 views
3

Rails 2.3アプリ(Herokuでホストされている)を開発者に公開したいと思います。私はこれを行う2つの方法を考えました:公開APIをRailsアプリケーションに追加するにはどうすればよいですか?

  1. respond_to | format | APIのキーのみを許可するbefore_filter
  2. API専用の第2のHerokuアカウントを使用して、元のアプリケーションのデータベースを共有する。今、何が良いでしょう:Rails、Sinatra、またはGrape

これはあいまいな質問です。私に役立つ良い記事やアーキテクチャパターンがありますか?

おかげで、

ケビン

答えて

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 

後であなたが1つのアプリや他のwebsite.com/api/wadgetsにwebsite.com/api/widgetsを処理したい見つけた場合、エンドユーザーが知っていることはありませんし、あなたのコードは必要はありません多くを変える。

7

ブドウを使用しています。シンプルで、より洗練された分離とセマンティクスが可能です。 APIは実際にはコントローラではありません。

関連する問題