java – 玩! Framework 2.0适合创建REST API?

我已经使用Play开发了一个REST API!框架1.2.4,我非常喜欢框架.简单和快速的开发周期帮助我实现了这一点,只要我走了传统的 Java EE路由,我会花费很少的时间.

现在我正在探索使用Play! 2.0.3为我的下一个项目.我看到,虽然框架已经被增强,并且使得开发Web应用程序变得更加容易,但REST API也不能说这一点.我的应用程序将不会有任何HTML – 我将只使用XML或JSON或我将来决定使用的任何数据交换格式进行响应.

所以问题是:

Has anyone here used Play 2.0.x for exposing non-html pure REST API’s?

更多细节:

以下是我觉得在Play 2.0.x中与1.2.x相比开发纯REST API更为困难的一些因素.如果我错了,请更正我的理解.

内容谈判更加困难

在玩! 1.2.4,内容谈判是建立在框架之内的.有一些选项可以在路由文件中定义请求期望的内容类型.

GET / friends User.listFriends(format:’xml’)

然后,在控制器中,

public static void getFriends(){
    render();
}

这将导致视图/ xml / User / listFriends.xml模板自动呈现.为了明天添加对JSON的支持,我需要做的就是添加一个views / json / User / listFriends.json模板.

我看不到这样做可以在玩! 2.0.x版本

创建非html模板不太直观

经过一些试验和错误,我发现可以创建一个listFriends.scala.xml中的一个listFriends.scala.xml播放! 2.0.然后,需要在控制器代码调用如下:

return ok(views.xml.listFriends.render());

但是,Eclipse不喜欢这个,因为Eclipse不知道views.xml.listFriends,因为它仅在播放编译完成后生成.有没有什么我在这里错过?

解决方法

在Play(Scala)中,你可以这样做:
val myXMl = obtainXML();
return Ok(myXML).as("text/xml")

我不确定Java中的语法,但它是等效的:而不是创建模板,您生成XML,然后将其发送给用户,将返回类型设置为“text / xml”(或json或无论你需要什么)

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...