2009-08-18 73 views
1

我們正在構建符合REST的API。後端以PHP實現,我們希望接口遵循慣例而不是配置格言。Rails ActiveResource

許多API消費者將成爲Rails開發人員,並且遵循TDD策略構建API,我們考慮使用ActiveResource來實現消費者,同時將API調整爲符合這些標準。

這種做法是否失寵?我們可以堅持哪些其他選擇或慣例,以便我們能夠建立一個強大的API(如Flickr,Facebook,Twitter等),感到舒服?

感謝您的指點。

乍得

回答

2

的ActiveResource要求XML是相當冗長,IMO不是設計得非常好(實體的嵌套可以是一個真正的頭痛)

如果絕大多數的消費者將是Rails開發者,那麼也許使用的ActiveResource符合REST服務可能是要走的路,但對於非Rails的用戶來說,它們看起來相當醜陋。

如果您希望任何技術能夠使用它,我不會使用ActiveResource,並且會創建適合數據的XML(或JSON)。

我已經構建了一些使用ActiveResource進行通信的系統,最近我發現它更容易按照上面的建議進行操作。

+0

謝謝Dan ...這是很好的信息,非常接近我們的想法。 – Chad 2009-08-19 03:32:26

1

用於映射HTTP方法和URL以API操作使用的ActiveResource約定是一個好主意,尤其是如果像你說你的很多的用戶會使用軌道。除此之外,我建議你閱讀「Your Web Service Might Not Be RESTful If…」,因爲正確處理GET/POST/PUT/DELETE並不是真正需要的所有東西。順便說一句,你提到的許多apis並不是真正的REST。

+0

謝謝維塔利。關於其他API的疑問 - 按照慣例,目標始終是對設計良好的成功設計模型進行建模! – Chad 2009-08-19 03:33:28