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 了吗?如果是这样,我们想听听!

4

10 回答 10

45

我很高兴地报告 Restlet M3 在 AppEngine 1.2.2 上运行良好。我已按照http://restlet.com/technical-resources/restlet-framework/guide找到的“第一步”和“第一个资源”教程进行操作。

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

于 2009-07-25T07:23:57.363 回答
17

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

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

于 2011-01-27T06:18:25.597 回答
6

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

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

如果你让它工作,或者设法让上述建议之一工作,更新每个人,因为我相信对此有兴趣。

于 2009-07-17T16:22:25.827 回答
5

我在 Google AppEngine 上将 Restlet 和 Guice 一起使用。恕我直言,它们非常适合。有关详细信息,请参阅我最近的博客文章:http: //haraldpehl.blogspot.com/2009/11/google-appengine-restlet.html

于 2010-01-19T08:58:10.843 回答
3

由于这些勇敢的旧解决方案被修补在一起,谷歌显然提供了一个 Eclipse 插件来创建一个启动项目,该项目生成一个 App Engine 应用程序、一个 Android APK 和一个 Web 应用程序,所有这些都通过一个由一组定义的接口相互通信带注释的对象声明。

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

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

这个谷歌视频也很丰富:

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

于 2012-12-05T10:54:53.480 回答
2

对于它的价值,关于如何使 Jersey 在 GAE 上工作的Jersey 用户列表已经进行了相当多的讨论。由于 GAE 限制(白名单中缺少类——希望随着时间的推移而解决),这项工作有点乏味,但显然可以工作。因此,虽然并非易事,但这可能是您最好的选择;尤其是 因为所有框架面临的许多问题都是相同的(由 GAE 强加)。

于 2009-06-19T20:50:01.113 回答
2

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

看看主页上的视频

它有一个gae模块

siena作为 orm 来处理 gae 数据存储

从到目前为止我见过的所有 java 框架中,我认为它的学习曲线更容易,

  • 很棒的文档

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

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

  • 像啤酒一样自由,也像演讲一样自由

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

  • 好好休息

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

此外,考虑到这是一门大学课程,破解代码真的很容易,我可以处理几张票和新功能,而无需任何 java 经验,只需几年用 php 开发 web 应用程序

其他福利

  • 它非常容易上手,无需复杂的设置,只需下载并解压缩文件即可

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

  • 快速轻便

  • 全栈,您不必集成繁琐的框架即可使其工作

  • 出色的错误报告,不再有无尽的错误堆栈跟踪,只显示错误行

  • 周围没有xml配置

  • 通过 selenium 集成测试对 tdd 的大力支持

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

于 2011-03-30T01:33:48.897 回答
2

我最近在 GitHub 上与Jersey、Guice 和 AppEngine一起制作了一个项目模板。它是使用 SimpleDS 开发的,但可以对其进行修改以轻松使用 Objectify / JDO。该项目在这里进行。

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

于 2012-05-24T21:18:15.287 回答
1

这是一个非常非常好的教程 Restlet/Android/GAE/Objectify 带有一个简单应用程序的示例。抱歉,它是法语,但您可以直接复制/粘贴代码,或使用谷歌翻译。

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

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

祝你好运

于 2012-08-14T17:06:21.960 回答
-1

无论是 Java 还是 .py,最麻烦的 2 个 GAE REST API 操作是图形以及如何取消显示私人信息。我的小gae 休息提要分叉了另一个项目。我确信 Java 会成功,因为 Java 需要并提供更多方式(优势)以及更长(更慢)的成功时间(劣势),而 python 项目打开的成功方式更少(劣势)和更少的开发时间(有利的快速发展)同样取得成功。

于 2009-06-18T19:13:11.567 回答