我有一个应用程序,我们正在使用它来为另一个应用程序提供 api 调用。但是感觉很重,因为它仍在使用整个导轨,但我们不使用视图等......
其他人是如何解决这个问题的,只是删除文件?我只需要我的模块和服务能力。
使用 Sinatra 会更好吗?
我有一个应用程序,我们正在使用它来为另一个应用程序提供 api 调用。但是感觉很重,因为它仍在使用整个导轨,但我们不使用视图等......
其他人是如何解决这个问题的,只是删除文件?我只需要我的模块和服务能力。
使用 Sinatra 会更好吗?
查看相对较新的rails-api插件,它提供了用于构建 API 服务的 Rails 子集。您可以在此处阅读发布博客文章。
还有一个Railscasts 插曲展示了它的使用。
在我的工作中,我们正在做你所需要的。不幸的是,我对使它工作的过程不是很熟悉,其他人设置了它。我所知道的是,在 config/application.rb 你可以选择你的应用程序需要的东西。如果需要,您甚至可以添加/删除中间件。如果它对我们的案例有帮助,我们将使用这些框架:
require "active_record/railtie"
require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
并删除这些中间件:
config.middleware.delete Rack::Lock
config.middleware.delete ActionDispatch::Flash
config.middleware.delete ActionDispatch::Cookies
config.middleware.delete ActionDispatch::Session::CookieStore
config.middleware.delete ActionDispatch::BestStandardsSupport
试着看看GRAPE,它就是这样做的——它有点像 Sinatra(使用 Rack),但非常轻量级并且专注于 API。Webmachine也很有趣(参见http://code.dblock.org/grape-vs-webmachine进行一些比较)