2011-03-01 122 views
11

我想建立一個自己可以在其他客戶端來訪問一個簡單的API。我想使用Rails 3來構建它,但我不知道如何去做。我知道Rails或多或少地構建了這個模型,但我不知道如何與之交互。的Rails 3.如何將API添加到Rails應用程序

有沒有互聯網,我可以如何將我的Rails 3應用程序到服務器與遠程API閱讀了關於任何資源?

感謝所有輸入。

回答

9

一個很好的出發點可能是在REST and responders

閱讀了然後從另一個Rails應用程序的API進行交互,可以使用的ActiveResource。有一個Railscast on it

一個例子:

#API side 
class ProductsController < ApplicationController 
    respond_to :json 

    def index 
    @products = Product.all 
    respond_with(@products) 
    end 
end 

#Client 
# models/product.rb 
class Product < ActiveResource::Base 
    self.site = "http://your-api-app.com" 
end 
4

想出了一個blog post最近 - 在實例介紹如何API添加到現有的Ruby on Rails應用程序。涵蓋Rails Metal控制器,路由,視圖和安全等主題。 希望這會有所幫助。

10

儘管做了哪些已經告訴,你可以rails api screencast開始。雖然它只適用於API應用程序。

如果您想要將API和API添加到現有的完整導軌應用程序中,請檢查this blog post,其中涵蓋了Rails API上的基本要素,包括加速技巧。

因爲這應該是一個要求也是如此,爲確保您的API也有關於該主題的截屏:#352 Securing an API

耶胡達·卡茨和Ryan比格的書,Rails 3 in Action,對建設一個測試驅動JSON API一章示例應用程序的頂部貫穿整本書。

在書,Ticketee示例應用程序的代碼,是開放源,並且可以在GitHub找到。尤其是,與API相關的所有內容都是/ app/controllers/api下的名稱空間,您可以在/ spec/api中找到大量的RSpec測試。

相關問題