我想向开发人员打开我的Rails 2.3应用程序(在Heroku上托管)。我想到了两种方法:
我知道这是一个模糊的问题。你有什么好的文章或建筑模式可以帮助我吗?
谢谢,
凯文
答案 0 :(得分:7)
我们使用葡萄。它很简单,允许更清晰的分离和语义。 API实际上不是控制器。
答案 1 :(得分: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,那么您的最终用户将永远不会知道,并且您的代码不需要进行太多更改。