Resty GWT动态代码生成



我正在使用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)以便我可以解码对象?

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

从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它都是"静态"的,这意味着它并不真正依赖于运行时变量或任何东西。

最新更新