2011-05-04 188 views
3

我真的很感激就如何最好地從我的站點,以便通過服務API ..從我的在線搜索,我發現ActionWebService使用那個方向提供一定的功能,但已經暴露出某些功能的建議在最新版本的rails中已棄用。暴露Web服務API 3

爲了闡述一下,我想建立一個iPhone應用程序連接到我當前的Rails網站..理想的「API服務」模型,其中包含一些將暴露在HTTP上的函數:/// Services for例如,我的iPhone需要提供的所有東西......所以基本上這些服務功能從其他模型中獲取數據,並只是在暴露的API中提供它。

尋找意見,如果我在這裏有一個正確的做法,什麼是在軌道暴露API的語法?

謝謝!

+0

有你發現這個任何信息?我期望做同樣的事情,並且在ror3 +中有些新東西或缺失。 – Cac3a 2011-07-06 14:44:26

+0

我認爲這可以幫助你「[http://stackoverflow.com/questions/2572571/rails-3-what-is-the-proper-way-to-respond-to-rest-ful-actions-with-json -in-軌] [1]」 [1]:http://stackoverflow.com/questions/2572571/rails-3-what-is-the-proper-way-to-respond-to -rest-FUL-行動與 - JSON-在軌 – 2011-10-18 14:51:17

回答

0

Rails使這很容易,其實。它默認公開XML端點。您可以輕鬆公開JSON(對於iPhone,您應該使用JSON,因爲它更容易解析)。另外,它以REST方式執行此操作。您不應該添加API控制器 - 只需使用您已有的資源控制器即可。

在你respond_to塊,你應該已經看到XML代碼。對於JSON,只需添加以下內容:

format.json { render :json => @item, :status => :created, :location => @item }

鉤這件事與iPhone類似RestKit,你可以輕鬆地創建一個iPhone應用程序,用一個Rails應用程序進行通信。