Google App Engine Java上的RESTful应用程序?


83

我想在Google App Engine上创建一个RESTful应用。我想提供XML和JSON服务。我已经对Restlet,Resteasy和Jersey进行了简短的实验。除了Restlet中的一些简单示例之外,我在其中的任何方面都没有取得太大的成功。

您能否分享使用Java在Google App Engine上创建Restful Web应用程序的经验或对上述GAE工具包有任何见解?

谢谢!

编辑(2009-07-25):

我决定暂时使用Restlet。到目前为止,它似乎可以正常工作。请发布您可能有的其他见解/意见。您遇到了什么问题?您是否已在GAE / J上成功使用Jersey / Restlet / Resteasy?如果是这样,我们想听听!



这取决于我们在开发中使用的框架的选择,我一直在将Spring MVC与objectify以及Hibernate一起使用,并且它在Google App Engine上也可以完美运行。
Ankur Jain

@AnkurJain是的,在7年中发生了很多变化。
JP理查森

Answers:




6

我也将开始探索这一点,但尚未开始。我确实找到了这个框架,说它应该可以工作,但是就像我说的还没有尝试过。

http://wiki.restlet.org/docs_1.2/13-restlet/275-restlet/252-restlet.html

如果您可以使用它,或者设法使上述建议之一起作用,请更新每个人,因为我确信对此有兴趣。


1
我很确定Restlet可以工作。比其他人使用起来有点麻烦。我特别喜欢Jersey引入的注释。我计划在接下来的几周内使用Restlet。我一定会发布更新。
JP理查森,2009年

我也度过了这个周末,而Restlet在GAE上表现出色。我能够按照Restlet网站上给出的示例(之前我离开的url)将内容放在一起。但是设置一切都很简单。
broschb

我在博客上写了一个小帖子,以回答有关stackoverflow的另一个问题。它通过一个非常基本的示例让Restlet进入GAE。broschb.blogspot.com/2009/08/…–
broschb

1
Restlet现在具有JAX-RS实现。他们还开始分发专门用于AppEngine的内部版本。您将要使用最新的2.0里程碑(当前为2.0平方米)。我刚刚将其设置为现在正在构建的新应用程序的概念验证。我不建议使用Restlet自己的API,因为它本质上是通用的,过于抽象的,而且通常令人困惑。 restlet.org/downloads/2.0/restlet-gae-2.0m4.zip
Mark Renouf



3

由于这些英勇的旧解决方案被修补在一起,因此Google显然已经提供了一个Eclipse插件来创建一个启动程序项目,该项目可以生成App Engine应用程序,Android APK和Web应用程序,并且都可以通过单个集合定义的界面相互对话带注释的对象声明。

我自己还没有尝试过,但是请尝试一下上面较早的消息中描述的任何更异构的示例之前,请先看一下:

https://developers.google.com/eclipse/docs/appengine_connected_android

这个Google视频也非常有用:

http://www.youtube.com/watch?v=NU_wNR_UUn4


2

值得一提的是,在Jersey用户列表上已经进行了很多讨论,其中包括如何使Jersey在GAE上运行。由于GAE的限制(缺少白名单中的类-希望随着时间的推移而解决),这是一件乏味的工作,但是显然可以使它起作用。因此,尽管这并不容易,但这可能是您最好的选择。尤其是 因为所有框架面临的许多问题都是相同的(由GAE提出)。


我想问你您是否对我的问题有任何解决办法stackoverflow.com/questions/32699420/…谢谢你
Marco Dinatsoli 2015年

2

好吧,我强烈建议您看看游戏框架

观看主页上的视频

它有一个gae模块

使用siena作为ORM处理GAE数据存储

从到目前为止我所看到的所有Java框架中,我认为它具有更容易学习的曲线,

  • 出色的文档

  • 开发完整应用程序的教程

  • 非常活跃和乐于助人的社区,

  • 如啤酒和演讲一样免费

  • 由于其无状态的开箱即用设计,因此具有高度可扩展性

  • 休息友好

  • 通过其模块和插件方法高度可定制

而且,考虑到这是一门大学课程,很容易破解代码,我可以处理几张票和新功能,而完全没有使用Java的经验,仅用几年时间就可以用php开发网络应用程序

其他福利

  • 它真的很容易启动,不涉及复杂的设置,只需下载并解压缩文件就可以了

  • 很棒的开发经验,只需修复代码并刷新即可,在开发模式下运行时即时播放自动编译的更改

  • 快速轻巧

  • 全栈,您无需集成繁琐的框架即可运行

  • 重大错误报告,不再有无尽的错误堆栈跟踪,仅向您显示错误行

  • 周围任何地方都没有xml配置

  • 硒集成测试对tdd的强大支持

我认为,作为学习工具的主要优势在于,可以窥探源代码而不会感到迷茫和得到社区的支持...文档非常清晰,您可以通过查看源代码来学到很多东西码...


游戏看起来非常令人印象深刻。但是,它与GAE的集成看起来并不像在主要项目中维护的那样,因此落后于GAE的发布周期。它的GWT插件似乎还要落后。尽管如此,我会给你一个赞扬,向我展示如此出色的项目。
JP理查森

gae模块是由主要开发人员开发和维护的,siena模块(推荐用于gae的orm,jpa遇到很多麻烦)是由社区中非常活跃的成员维护的,不幸的是,gwt模块并没有得到太多关注契约...
2011年

gae模块又回到了正轨!另一位开发人员负责了此工作,这里提供的支持是gae 1.6 playframework.org/modules/gae-1.6.0/home
openas



-1

无论是Java还是.py,要执行工作的两个最麻烦的GAE REST API动作是图形以及如何显示私人信息。我的小小快乐休息供养了另一个项目。我确信Java会成功地在python因Java所卡住而成功的情况下获得成功,并给出更多的方式(优势)以及更长的(较慢的)成功时间(劣势),而python项目打开的成功方式(不利的)更少,开发时间也更少(有利的快速发展)才能成功。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.