2009-08-08 41 views
2

是否有用於在Rails中定義API的gem /插件?用於在Django活塞中聲明指定API的插件

我知道你可以有「REST風格的路線」,並渲染到控制器的動作不同的格式,但我正在尋找一個更全面的解決方案,包括但不限於以下內容:

我想宣佈要公開哪些模型(任意資源也可以被聲明,但是公約應該幫助我,當它們被映射到模型時),哪些字段可用以及如何佈置數據,需要哪種類型的認證/授權對於哪些資源/操作,我想要什麼樣的限制。它還可以輕鬆地將資源自動輸出到不同的格式(無需任何模板),並通過webhooks和/或PubSubHubBub以及高效緩存提供流式傳輸和通知。

理想情況下,我可以在不需要ActionController的情況下使用ActiveRecord,因此我可以擁有一個小型的API應用程序。

我知道Django沿着這些線條有一個叫做django-piston的東西,但我自己並沒有使用它,我不確定它覆蓋了多少。

在Rails中有這樣的事嗎?或者我完全錯誤地想要這個(爲什麼?),而應該填充這個需要與香草Rails加上一些插件(哪些?)?

+0

關於「你應該只使用Rails +插件」的一面,我發現這種方法的偉大寫作:http:// www.codesopretty.com/rails/plugin-synergy-for-rails-powered-apis/ – hsribei 2009-08-10 06:16:04

+0

如果您的API不僅包含入口點URI,還不是REST。 REST API僅描述您的媒體類型。您的端點URI需要通過超文本發現。如果這不是你想要的,那很好,但如果不是你的意思,請不要使用術語「REST」。 – aehlke 2009-08-11 17:28:39

回答

0

CloudKit可能是一個解決方案。還沒有看到太多,但從網站上,但從網站:

# Build an API like this 
require 'cloudkit' 
expose :notes, :projects 
+0

不是我正在尋找的東西。 CoudKit更像是一個HTTP存儲前端。它的一部分可以幫助。 – hsribei 2010-04-18 03:23:06