Restlet 将 JSON 发布到 Appengine 错误 [英] Restlet POSTing JSON to Appengine error

查看:19
本文介绍了Restlet 将 JSON 发布到 Appengine 错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们在 GAE 服务器和 GWT 和 Android 客户端上有一个带有 Restlet 的小应用程序.Restlet 向 GWT 客户端提供 GWT 序列化回复,向 Android 客户端提供 JSON.

We have a small app with Restlet on the GAE server and GWT and Android clients. Restlet serves GWT-serialized replies to GWT clients and JSON to Android clients.

在本地和 AppEngine 生产服务器上使用 GWT 序列化一切正常.

All is ok with GWT-serialization both locally and on AppEngine production servers.

Android (JSON) 客户端与本地开发服务器通信一切正常.

All is ok with Android (JSON) clients talking to local dev server.

Android 进入生产 AppEngine 服务器获取 JSON 回复,但 POST 失败.日志中没有错误或警告.服务器上的函数被调用,但传递的参数为空.

Android taking to production AppEngine server GETs JSON replies, but POST fails. There is no error or warning in logs. The function on server gets called but parameter passed is null.

这是违规代码:

@Post("json")
public void createLocationJSON(Location location) {  // location is always null
    // do something with 'location'
}

推荐答案

只是想让大家知道:经过多次摆弄,我设法让 GAE+Restlet+JSON+GWT 工作.过程真的很混乱(让我想起了为 Win32 编程的日子):我只是在更改设置,直到它开始工作.

Just to let everybody know: I managed to get GAE+Restlet+JSON+GWT working after much fiddling. The process was really chaotic (reminded me of days programing for the Win32): I was just changing settings until it started working.

我遇到的问题是:

  1. 它向错误的客户端提供了错误的表示(JSON、XML、GWT).后来发现,我不得不注意类内部方法的顺序.跆拳道??
  2. 我无法让它在子路径上工作,例如/休息/*.

出于以下原因(提示作者),我不打算使用 Restlet:

I'm not going to use Restlet for the following reasons (hint to authors):

  1. 文档稀缺、不准确,有时还相互矛盾(在文档的不同部分以不同的方式解释).
  2. 配置不是标准的 JAX-RS.我知道他们可以选择将其配置为 JAX-RS,但文档中的所有示例都不是基于此.

从那以后我改用了泽西岛.

这篇关于Restlet 将 JSON 发布到 Appengine 错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆