我有一個應用程序,我們正在使用只是爲了調用另一個應用程序的API調用。然而,它感覺很重,因爲它仍然使用整個導軌,但我們不使用視圖等...剝離鋼軌只用於API使用
其他人如何解決這個問題,只是刪除文件?我所需要的只是我的模塊和服務能力。
使用Sinatra會更好嗎?
我有一個應用程序,我們正在使用只是爲了調用另一個應用程序的API調用。然而,它感覺很重,因爲它仍然使用整個導軌,但我們不使用視圖等...剝離鋼軌只用於API使用
其他人如何解決這個問題,只是刪除文件?我所需要的只是我的模塊和服務能力。
使用Sinatra會更好嗎?
查看相對較新的rails-api插件,該插件提供了用於構建API服務的Rails子集。您可以閱讀發佈博客文章here。
還有一個Railscasts episode展示其用途。
在我的工作中,我們正在做你所需要的。不幸的是,我並不十分熟悉使其工作的過程,其他人對此進行了設置。我知道的是,在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這確實考慮看看究竟這一點 - 這是一個有點像辛納屈(用途機架),但非常輕量級和API的重點。 Webmachine也很有趣(有些比較見http://code.dblock.org/grape-vs-webmachine)
+1。我們使用一個平靜的rails-api應用程序作爲其他幾個應用程序的後端,就像一個魅力一樣。 –