我使用 Play 开发了一个 REST API!框架1.2.4,我非常喜欢这个框架。如果我走传统的 Java EE 路线,简单性和快速的开发周期帮助我在很短的时间内实现了这一目标。
现在我正在使用 Play 进行探索!2.0.3 用于我的下一个项目。我看到虽然框架得到了增强,并且使开发web 应用程序变得更加容易,但对于REST API却不能这么说。我的应用程序不会有任何 HTML - 我只会使用 XML 或 JSON 或我决定将来使用的任何数据交换格式进行响应。
所以,问题是:
这里有没有人使用 Play 2.0.x 来公开非 html 纯 REST API?
更多细节:
以下是我认为与 1.2.x 相比,在 Play 2.0.x 中开发纯 REST API 更加困难的一些因素。如果我错了,请纠正我的理解。
内容协商更难
在玩!1.2.4,我的内容协商被构建到框架中。有一些选项可以在路由文件中定义请求期望的内容类型。
GET /friends User.listFriends(format:'xml')
然后,在控制器中,
public static void getFriends(){
render();
}
这将导致views/xml/User/listFriends.xml
模板自动呈现。明天要添加对 JSON 的支持,我需要做的就是添加一个views/json/User/listFriends.json
模板。
我不明白如何在游戏中做到这一点!2.0.x
创建非 html 模板不太直观
经过反复试验,我发现可以在视图文件夹中创建一个 listFriends.scala.xml !2.0。然后,需要在控制器代码中调用如下:
return ok(views.xml.listFriends.render())
;
但是,Eclipse 不喜欢这样,因为 Eclipse 不知道它,views.xml.listFriends
因为它是在 play 编译完成后生成的。我在这里有什么遗漏吗?