Java 尽情玩乐吧!2.0框架

Java 尽情玩乐吧!2.0框架,java,rest,playframework-2.0,Java,Rest,Playframework 2.0,这篇文章来自不久前: 演示了一种非常优雅的设计RESTfulWeb服务的方法!1.x和Java 我在玩!我想知道将这种方法迁移到新版本有多容易。一开始我就发现渲染方法已经不存在了,所以我想知道框架中是否有任何重大的架构更改阻止了这个过程的使用 本帖: 演示了一些基于2.0的处理,但它是在Scala中完成的,我花了很长时间通过它进行解析游戏2.0中的整个过程将非常相似,只是语法上有一些小差异,请查看文档 路线 # REST actions GET /user/:id controll

这篇文章来自不久前: 演示了一种非常优雅的设计RESTfulWeb服务的方法!1.x和Java

我在玩!我想知道将这种方法迁移到新版本有多容易。一开始我就发现渲染方法已经不存在了,所以我想知道框架中是否有任何重大的架构更改阻止了这个过程的使用

本帖:
演示了一些基于2.0的处理,但它是在Scala中完成的,我花了很长时间通过它进行解析

游戏2.0中的整个过程将非常相似,只是语法上有一些小差异,请查看文档

路线

# 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)
编辑:

当然,您可以使用
Accept
标题而不是
format
参数,但是param只是。。。更容易设置。您还可以为视图使用ie.
user.scala.xml
name,并在控制器中使用以下命令渲染视图:
return ok(views.xml.user.render(user.body())

我在GitHub上发布了该示例,并进行了一些修复,因此您可以自己尝试:


请注意,您需要保留
Rest.java
controller(及其路由),而应用程序中的所有内容都只是为了显示和演示(即在controllers中进行GET/POST/PUT/DELETE调用)。

Play 2.0中的整个过程将非常相似,只是语法上的细微差别,查看文档

路线

# 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)
编辑:

当然,您可以使用
Accept
标题而不是
format
参数,但是param只是。。。更容易设置。您还可以为视图使用ie.
user.scala.xml
name,并在控制器中使用以下命令渲染视图:
return ok(views.xml.user.render(user.body())

我在GitHub上发布了该示例,并进行了一些修复,因此您可以自己尝试:


请注意,您需要保留
Rest.java
controller(及其路由),而应用程序中的所有内容都只是为了显示和演示(即在controllers中进行GET/POST/PUT/DELETE调用)。

查看文档,现在不能这样做,但稍后我将向您展示一些简单的示例(或者其他人会…)不管怎么说,你认为为什么会这样;s nor
render
method more?:)我刚刚把它拉到eclipse中,render方法返回了一个错误。。。所以我只是认为它不起作用。我猜你是说它在那里-让我再检查一下。哦哦。。。这是Eclipse的错误:)检查示例和文档,并搜索堆栈溢出以查找在Eclipse中播放和工作的主题。查看文档,现在不能这样做,但我稍后会向您展示一些简单的示例(或者其他人会…),不管怎样,您认为为什么会这样;s nor
render
method more?:)我刚刚把它拉到eclipse中,render方法返回了一个错误。。。所以我只是认为它不起作用。我猜你是说它在那里-让我再检查一下。哦哦。。。这是Eclipse的错:)检查示例和文档,并搜索堆栈溢出,查找在Eclipse.Biesior中使用和工作的主题。非常感谢你。一个问题tho:这里用户通过“格式”参数提供内容类型。如果你看一下我在问题中发布的第一个链接,你会发现响应类型似乎是从请求中计算出来的。这个解决方案在这里仍然可行吗?你打算只将这个API与jQuery一起使用还是与其他第三方客户端一起使用?我根本不打算使用jQuery-现在使用两个Jersey客户端连接到它以实现不同的目的。。。但是为什么这些服务特定于任何客户机呢?另一个问题:您能告诉我为什么将视图的XML版本命名为“XML.scala.html”吗?它不应该像user.scala.xml一样位于views.user目录下吗?我问过jQuery,因为我很懒,不想用很多技术准备示例;)查看我编辑的帖子,我将整个代码移到了github,所以你可以克隆并测试它。Biesior-真棒的回复。非常感谢你。一个问题tho:这里用户通过“格式”参数提供内容类型。如果你看一下我在问题中发布的第一个链接,你会发现响应类型似乎是从请求中计算出来的。这个解决方案在这里仍然可行吗?你打算只将这个API与jQuery一起使用还是与其他第三方客户端一起使用?我根本不打算使用jQuery-现在使用两个Jersey客户端连接到它以实现不同的目的。。。但是为什么这些服务特定于任何客户机呢?另一个问题:您能告诉我为什么将视图的XML版本命名为“XML.scala.html”吗?它不应该像user.scala.xml一样位于views.user目录下吗?我问过jQuery,因为我很懒,不想用很多技术准备示例;)查看我编辑的帖子,我将整个代码移动到github,这样您就可以克隆和测试它了。