是这样的:
我有一个rails项目。在其中,我有一个api的命名空间/子域和web的命名空间/ rootdomain。 我想将所有业务逻辑放在api中,并简单地从Web命名空间控制器中调用它。
http://api.example.com => API
http://example.com =>网络
关于我如何组织项目的任何想法?我如何进行内部通话?或者是另一种(更好的)方法吗?
由于
答案 0 :(得分:-1)
使用它:
每个Rails开发人员迟早会想要构建他的第一个API。
首先要注意的是控制器。
如果您希望自己的API速度很快(我敢打赌),那么您应该考虑使用ActionController::Metal
。
诀窍是ActionController::Base
有许多API不需要的中间件,通过使用包含最少模块的Metal控制器,可以实现高达40%的加速。
让我们看看您的基本金属控制器可能是什么样子:
class Api::V1::BaseController < ActionController::Metal
include ActionController::Rendering # enables rendering
include ActionController::MimeResponds # enables serving different content types like :xml or :json
include AbstractController::Callbacks # callbacks for your authentication logic
append_view_path "#{Rails.root}/app/views" # you have to specify your views location as well
end