我正在开发一个 Google App Enigne 应用程序,它使用一些 REST 服务并反过来提供网络服务。我正在使用 GAE Eclipse 插件。我有两个问题:
现在与 GAE 一起使用的最佳 JAX-RS 库是什么?我想使用 Jersey,因为我知道它是最“标准”的库(不是吗?),但原则上我可以使用任何...我一直在寻找文档,但我只找到了一些仅适用于旧版泽西岛等的博客中的示例...
对于我必须提供的 Web 服务,我也想过使用 JAX-RS,但现在我不确定它是否是最佳选择......
我正在开发一个 Google App Enigne 应用程序,它使用一些 REST 服务并反过来提供网络服务。我正在使用 GAE Eclipse 插件。我有两个问题:
现在与 GAE 一起使用的最佳 JAX-RS 库是什么?我想使用 Jersey,因为我知道它是最“标准”的库(不是吗?),但原则上我可以使用任何...我一直在寻找文档,但我只找到了一些仅适用于旧版泽西岛等的博客中的示例...
对于我必须提供的 Web 服务,我也想过使用 JAX-RS,但现在我不确定它是否是最佳选择......
您可以使用泽西岛 1.5。您可以在http://code.google.com/p/googleappengine/wiki/WillItPlayInJava上查看将在 GAE 上运行的所有框架
但是 GAE 在 1.7.5 版本上实现了作为实验服务端点,术语是休息服务。检查https://developers.google.com/appengine/docs/java/endpoints/
对于 Web 服务,我不知道您的意思是不是肥皂服务..JAX-RS 是休息服务的规范,而不是您应该使用 JAX-WS 我不尝试与该规范的兼容性。
在对这个主题进行了一些研究之后,我发现从Google App Engine提供网络服务的最佳方式是使用Google Cloud Endpoints,这仍然是一项实验性技术,但据我尝试,它运行良好。此外,它还与 GAE 和Google Plugin for Eclipse很好地集成在一起。
为了使用来自 Google App Engine 的 REST 服务,我选择仅使用 Java 内置HTTP 客户端库,如此处所述。我不知道这是否是最好的方法,但它非常简单,并且您可以避免 GAE 和JAX-RS API(例如Jersey )之间可能出现的兼容性问题。
为了在 GAE 中使用JSON(对 RESTful 服务非常有用),我使用 Google 的gson,这是一个 Java 库,可用于将 Java 对象转换为其 JSON 表示形式,反之亦然。