我想打开我的Rails 2.3应用程序(在Heroku上托管)给开发人员。我想到了两种方法:如何将公共API添加到Rails应用程序?
- 使用respond_to | format |的应用程序,以及一个只允许授权开发人员使用API的密钥
- 使用专用于API的第二个Heroku帐户,共享原始应用程序的数据库。现在,什么会更好:Rails,Sinatra或Grape?
我知道这是一个模糊的问题。你有什么好的文章或建筑模式可以帮助我吗?
感谢,
凯文
我想打开我的Rails 2.3应用程序(在Heroku上托管)给开发人员。我想到了两种方法:如何将公共API添加到Rails应用程序?
我知道这是一个模糊的问题。你有什么好的文章或建筑模式可以帮助我吗?
感谢,
凯文
我想补充一个新的路由
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/wadgets website.com/api/widgets,最终用户将永远不会知道,你的代码不应该需要变化很大。
我们使用葡萄。它很简单,并允许更清晰的分离和语义。 API不是一个真正的控制器。