1

GWT でサードパーティの json レスト サービスにアクセスし、その応答をすばやく解析するための最良の方法を探しています。残りのサービスはcallbackパラメーターを提供し、提供された例では jQuery.jsonp を使用しています。

$.ajax({
  type: 'GET',
  url: 'http://server_name?id=and_id&callback=?',
  contentType: "application/json",
  dataType: 'jsonp',
  success: function(js) {/*{id='id',status='sold',prod_name='name',price=0.0 ...}*/},
  error: function(e) {}
});
4

1 に答える 1

0

GWT には、スクリプト タグを介してリクエストを実行するためのJsonpRequestBuilderと、 json レスポンスを処理して Java 実装を生成するための AutoBeans が付属していますが、私はgwtquery Ajax DataBindingそのシンプルさから好んで使用しています。

あなたの場合、プロバイダーが提供したのとほぼ同じ構文を持つことができます。

  ajax("http://server_name?id=and_id&callback=?",
       $$("type:'get', dataType: 'jsonp'),
       new Function() {
        public void f() {
          Properties jso = getDataProperties();
          String status = jso.get("error");
        }
  });

get/setter が好きでビルダーを使用する場合、コードは次のようになります。

  public static interface MResponse extends JsonBuilder {
    String getId();
    String getStatus();
    String getProd_name();
    double getPrice();
  }

  ajax(Ajax.createSettings()
           .setType("get")
           .setDataType("jsonp")
           .setUrl(""))
    .done(new Function() {
      public void f() {
        MResponse resp = GWT.<MResponse>create(MResponse.class)
                            .load(getDataProperties());
        String status = resp.getStatus();
      }
    });
于 2013-03-16T12:18:21.807 に答える