RESTlet 2.0教程应用程序不适用于appengine

时间:2010-09-03 12:15:13

标签: google-app-engine rest gwt restlet restlet-2.0

我一直在使用following tutorial提供的源代码。

GWT / GAE应用程序在开发模式下工作,但是在部署时,服务器始终以JSON格式返回响应。

我使用的是Restlet 2.0 Testing jar,并且还包含了依赖库。

谢谢

2 个答案:

答案 0 :(得分:1)

需要考虑两件事:

版本

您需要将Restlet的GAE版本用于服务器端应用程序,并将GWT用于客户端应用程序。这两者都不够。出于这个原因,这两个应用程序是the tutorial archive中的单独项目。因此,请确保您为每一方使用适当的版本。

对象/表示转换/序列化和扩展

我相信使用Restlet 2.0,当一个用HTTP方法注释的类方法返回一个Java对象,并且没有指定它应该如何序列化 - 转换为表示 - 那么Restlet将遵循任何Restlet扩展在实现此目的的类路径中。

在本教程中,服务器端应用程序包含此jar:“org.restlet.ext.jackson:Jackson扩展用于生成联系人资源的JSON表示” - 我认为这是响应为JSON的原因;框架推迟到扩展,即将对象转换为JSON表示。

因此,例如,如果您希望框架自动将对象序列化为XML,则可以从类路径中删除Jackson扩展JAR,而不是包含the XStream extension。我相信这会导致框架将对象序列化为XML。

ConverterService的wiki页面列出了框架支持的各种转换,以及启用它们的模块。

HTH!

答案 1 :(得分:1)

我遇到了类似的问题:

Restlet POSTing JSON to Appengine error

正如我自己的回答所描述的那样,我设法让它在经过多次摆弄之后才能正常运作。

从那时起,我切换到Jersey