簡體   English   中英

如何為現有的Ruby on Rails 5應用程序創建REST API?

[英]How to create a REST API for an existing Ruby on Rails 5 application?

我有一個帶有ActionCable和Devise gem的Rails 5應用程序,在Heroku上托管了15K用戶。 許多用戶建議為該網站發布移動應用程序。 我想首先為網站創建一個基本的移動應用程序。

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

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

是否有任何教程或書籍或任何資源顯示如何為現有的Rails應用程序創建REST API?

是。 這個Railscast非常有用。 他介紹了如何為已經運行(盡管非常簡單)的Rails應用程序設置restful API的基本部分。

它已經有幾年了,但仍應該適用於Rails 5。

你可以使用葡萄寶石。 查看其Rails集成部分

由於您已經有一些路由,只需為您的API選擇一個未使用的根路徑並將其掛載到那里:

mount Twitter::API => '/api'

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

可能是你可以使用activemodel serializers gem,它是rails 5的一部分。如果你當前沒有使用Rails 5 api模式,你可以在你的Gemfile添加activemodel serializers gem。

可能這個教程會有所幫助

我想你首先要從API身份驗證開始。 這個寶石可能適合您的需求: https//github.com/lynndylanhurley/devise_token_auth

由於您希望將RESTful API與現有的Rails應用程序集成,因此您應該參考本指南

它是一個更加用戶友好的指南,介紹如何將Grape (如Nic Nilov提到的)與Rails 5應用程序集成。 本指南假設您已有一個現有的Rails應用程序。

希望這有幫助!

對於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 gem

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM