微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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或无论你需要什么)

原文地址:https://www.jb51.cc/java/122642.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐