0

我正在使用 resty-gwt 库,想知道是否可以动态使用 JsonEncoderDecoder 接口?

例如。我有一个pojo如下:

@JsonTypeInfo(use=Id.CLASS, include=As.PROPERTY, property="class")
 public class MyObject {....}

使用响应中返回的类名:是否可以使用生成器生成接口

public interface MyObjectCodec extends JsonEncoderDecoder<MyObject > {}

并以某种方式调用 GWT.create(MyObjectCodec.class) 以便我可以解码对象?

4

1 回答 1

0

即使我从未尝试过,我相信你也可以。

从 restyGWT.gwt.xml 中提取

  <generate-with class="org.fusesource.restygwt.rebind.RestServiceGenerator">
    <when-type-assignable class="org.fusesource.restygwt.client.RestService" />
  </generate-with>
  <generate-with class="org.fusesource.restygwt.rebind.JsonEncoderDecoderGenerator">
    <when-type-assignable class="org.fusesource.restygwt.client.JsonEncoderDecoder" />
  </generate-with>
  <generate-with class="org.fusesource.restygwt.rebind.DirectRestServiceGenerator">
    <when-type-assignable class="org.fusesource.restygwt.client.DirectRestService" />
  </generate-with>

因此,如果您正在编写 JsonEncoderDecoder,则生成器应该为您生成代码。

您应该能够使用该方法JSONValue encode(T value)在 JSONValue 中编码您的对象

我不知道你所说的动态是什么意思,但 IMO 它都是“静态的”,这意味着它并不真正依赖于运行时变量或任何东西。

于 2013-06-04T11:58:21.953 回答