我的应用程序使用常见的 Models 作为多个应用程序的依赖项集成。其中一个依赖于 Models 的应用程序通过Restlet具有Restlet连接:
ClientResource res = new ClientResource("/path");
res.setOnResponse(new Uniform() {
@Override
public void handle(Request request, Response response) {
try {
if(!response.getStatus().isError()){
String body = response.getEntity().getText();
// do stuff with Response JSON
} else {
}
} catch (IOException e) {
// handle error
}
}
});
res.post(new JsonRepresentation(MediaType.APPLICATION_JSON, jsonObject));
我有两个问题,
com.google.gwt.json.client.JSONObject
,以便与上面的res.post
一起使用这既适用于上面的ClientResource
,也不适用于使用GWT Overlay类型,因为我们已经在客户端和服务器端共享了Model。一些直截了当的东西。
答案 0 :(得分:0)
答案 1 :(得分:0)
Restlet不支持bean / JSON转换。如果要在Restlet中使用bean,则应使用本机GWT协议。它是选择Restlet实现GWT的指导。您可以在Restlet中启用内容类型,并通过内容协商选择所需的内容类型(GWT客户端为GWT RPC,其他人为JSON)。
那就是说,我了解你的做法。在GWT RPC的情况下,Restlet利用生成器功能直接处理bean(请参阅此类https://github.com/restlet/restlet-framework-java/blob/master/modules/org.restlet/src/org/restlet/rebind/ClientProxyGenerator.java.gwt)。生成器仅支持GWT RPC的媒体类型,但可以扩展为处理其他媒体类型,如JSON。请注意,这种方法是Ümit在答案中提供的方法。
希望它能给你一些解决问题的提示, 亨利