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

时间:2009-06-18 17:26:52

标签: java google-app-engine rest jersey restlet

我想在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吗?如果是这样,我们希望听到它!

10 个答案:

答案 0 :(得分:44)

我很高兴地报告Restlet M3在AppEngine 1.2.2上无法正常工作。我已经按照http://restlet.com/technical-resources/restlet-framework/guide找到了“第一步”和“第一资源”教程。

所以,在我看来,Restlet是你的GAE / J Restful应用程序的答案。

答案 1 :(得分:17)

我在GAE上使用泽西岛。以下是对设置感兴趣的人的链接:(我正在使用GAE SDK v1.4.0):

http://tugdualgrall.blogspot.com/2010/02/create-and-deploy-jax-rs-rest-service.html

答案 2 :(得分:6)

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

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

如果你让它运作起来,或设法让上述建议之一起作用,请更新所有人,因为我确信对此有兴趣。

答案 3 :(得分:5)

我在Google AppEngine上使用Restlet和Guice。恕我直言他们很好地融合在一起。有关详细信息,请参阅我最近的博文:http://haraldpehl.blogspot.com/2009/11/google-appengine-restlet.html

答案 4 :(得分:3)

由于这些勇敢的旧解决方案被拼凑在一起,谷歌显然提供了一个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

答案 5 :(得分:2)

对于它的价值,已经就Jersey user lists如何使泽西岛在GAE上工作进行了相当多的讨论。由于GAE限制(缺少白名单中的类 - 希望随着时间的推移而解决),这是一项繁琐的工作,但显然可以使其工作。 因此,虽然不容易,但这可能是您最好的选择; ESP。因为所有框架所面临的许多问题都是相同的(由GAE强加)。

答案 6 :(得分:2)

好吧,我强烈建议你看一下play framework

查看主页上的视频

它有gae module

siena作为处理gae数据存储区的orm

从目前为止我见过的所有java框架来看,我认为它有更简单的学习曲线,

  • 很棒documentation

  • tutorial开发完整的应用程序

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

  • 像啤酒一样免费,也可以在演讲中免费

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

  • rest friendly

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

更重要的是,考虑到它是一个大学课程,它很容易入侵代码,我可以处理几个门票和新功能,没有任何使用java的经验,只需几年开发Web应用程序用php

其他好处

  • 启动非常简单,不涉及复杂的设置,只需下载并解压缩文件就可以了。

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

  • 快速轻便

  • fullstack,您无需集成繁琐的框架即可使其正常工作

  • 很棒的错误报告,没有更多无尽的错误堆栈跟踪,只显示错误的行

  • 周围没有xml配置
  • 对使用硒综合测试的tdd的大力支持

我认为作为一种学习工具的主要优点是可以窥探源代码而不会感到迷失和社区支持......文档非常清晰,只需看看就能学到很多东西在源代码......

答案 7 :(得分:2)

我最近在GitHub上放了一个带有Jersey, Guice and AppEngine的项目模板。它是用SimpleDS开发的,但可以修改它以便与Objectify / JDO一起使用。该项目是实时的here

这应该是新项目的良好起点。

答案 8 :(得分:1)

这是一个非常好的教程Restlet / Android / GAE / Objectify,其中包含一个简单应用程序的示例。抱歉,这是法语,但您可以复制/粘贴代码,或使用谷歌转录。

我跟着它,有一个工作的Android / GAE服务器在2小时内一起通信。它是启动或测试Restlet的良好基础。

http://www.tutos-android.com/webservice-rest-android-appengine-restlet-objectify

祝你好运

答案 9 :(得分:-1)

用于制作工作的两个最繁琐的GAE REST API操作,无论是Java还是.py,都是图形以及如何取消显示私人信息。 My little gae rest feed forked another项目。我确信Java会因为Java占用而导致python成功,并且提供更多的方法(优势)以及更长(更慢)的成功时间(不利),而python项目开辟了更少的成功方式(不利)和更少的开发时间(有利于快速发展)同样成功。