加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 05:25:00 所属栏目:Java 来源:网络整理
导读:我已经使用Play开发了一个REST API!框架1.2.4,我非常喜欢框架.简单和快速的开发周期帮助我实现了这一点,只要我走了传统的 Java EE路由,我会花费很少的时间. 现在我正在探索使用Play! 2.0.3为我的下一个项目.我看到,虽然框架已经被增强,并且使得开发Web应用
我已经使用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或无论你需要什么)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读