2016-07-28 68 views
6

我有一個Rails 5應用程序,帶有15K用戶在Heroku上託管的ActionCable和Devise gem。許多用戶建議爲該網站發佈移動應用程序。我想先爲網站創建一個基本的移動應用程序。如何爲現有的Ruby on Rails 5應用程序創建REST API?

當我谷歌,我得到的只是API的唯一指導。是否有任何教程或書籍或任何資源顯示如何爲現有的Rails應用程序創建REST API?

有人可以指導如何做到這一點?我如何認證用戶?我如何使用實時聊天?我應該使用任何寶石?請分享如何開始和最佳做法。謝謝

+0

您可以創建正常的控制器,但只返回json或除HTML之外的其他格式。那麼Ehat是個問題? –

+0

這個問題http://stackoverflow.com/documentation –

回答

3

您可以使用grape寶石。看看它的Rails integration section

既然你已經到位部分航線,只要拿起你的API未使用的根路徑有裝載:

mount Twitter::API => '/api' 
2

有沒有表現出任何的教程或書籍,或任何資源如何爲現有的Rails應用程序創建一個REST API?

是的。這是非常有幫助的。他經歷瞭如何爲已經運行的(儘管非常簡單)的Rails應用程序設置一個restful API的基本部分。

這是一個數歲,但還是應該爲Rails工作5

0

我會建議你開始尋找JSON響應,Rails中你有一切你需要創建一個Web應用程序和使用API相同的控制器。 您需要從JSON的'respond_to'開始。 要開始玩耍,請使用scaffold生成控制器,它將爲您提供JSON和HTML的響應者。

0

可能是你可以使用activemodel serializers的寶石,它是軌道5的一部分,如果當前不使用Rails 5 API模式下,你可以添加activemodel serializers寶石到您的Gemfile

可能是這個tutorial將有助於

-1

對於Ruby on Rails的5你就可以使用一個API的應用程序:

$ rails new my_api --api

還可以更改現有的應用程序,並使其成爲一個API之一,在一些文件中有一些小的改變。

對於您當前正常的Rails應用程序,您只需在當前控制器中爲JSON添加respond_to即可。例如:

def index 
    @tasks = Task.all 
    respond_to :html, :json 
end 

對於用戶身份驗證,您可以檢查Devise寶石

0

既然你想一個RESTful API與現有的Rails應用程序集成,你應該參考this guide

這是一本關於如何將Grape(如Nic Nilov提到的)與您的Rails 5應用程序集成的更加用戶友好的指南。本指南假定您已經擁有現有的Rails應用程序。

希望這有助於!

相關問題