2013-01-02 102 views
2

這篇文章一陣子回來: RESTful on Play! framework 說明了一個非常優雅的方法來設計RESTful Web服務! 1.x與Java。RESTful on Play! 2.0框架

我正在使用Play! v2,我想知道將這種方法遷移到新版本是多麼容易。我看到渲染方法不再存在,所以我想知道框架中的任何主要體系結構更改是否會阻止使用此過程。

這篇文章: Play 2.0 RESTful request post-processing 說明了一些2.0加工爲主的,但它是在斯卡拉做,我有一個時間,通過它解析魔鬼

+0

看看文檔,現在不能這樣做,但我會稍後向您展示一些簡單的樣本(或者別人會......)無論如何,您爲什麼認爲那裏,也沒有'render'方法了嗎? :) – biesior

+0

我只是把它拉到eclipse中,渲染方法返回一個錯誤...所以我只是認爲它不工作。我想你是說它在那裏 - 讓我再檢查一下。 – IcedDante

+1

ooooh ...這是Eclipse的錯誤:)檢查樣本和文檔,也搜索堆棧溢出的主題的播放和在Eclipse中工作。 – biesior

回答

4
在播放2.0

整個過程將是非常相似的只有區別將在語法上,看看文檔。

routes

# REST actions 
GET  /user/:id controllers.Rest.user(id: Int) 
POST /user  controllers.Rest.createUser 
PUT  /user/:id controllers.Rest.updateUser(id: Int) 
DELETE /user/:id controllers.Rest.deleteUser(id: Int) 

編輯:

當然,你可以用它代替format參數Accept頭,但參數是隻是...更容易設置。你也可以使用ie。 user.scala.xml名的觀點,並在控制器使其:return ok(views.xml.user.render(user).body());

我發表了樣本上GitHub的一些修復,所以你可以嘗試一下自己:play-simple-rest

請注意,你需要保持Rest.java控制器(及其路由),而Application中的所有內容僅用於顯示和演示(即在控制器中進行GET/POST/PUT/DELETE調用)。

+0

Biesior-真棒回覆。非常感謝。一個問題是:用戶在這裏通過「format」參數提供內容類型。如果你看看我在我的問題中發佈的第一個鏈接,似乎是從請求中找出響應類型。這個解決方案在這裏還有可能嗎 – IcedDante

+0

你打算只用jQuery或者其他的第三方客戶端使用這個API嗎? – biesior

+0

我沒有打算全部使用jQuery--現在使用幾個Jersey客戶端來連接它以用於不同的目的......但爲什麼這些服務會針對任何客戶端? – IcedDante