2013-01-02 70 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