【问题标题】:How to call a GET method with AsyncCallback in GWT如何在 GWT 中使用 AsyncCallback 调用 GET 方法
【发布时间】:2015-08-06 09:58:24
【问题描述】:

我有一个 doGet(String url, final AsyncCallback callback) 方法,用于使用 REST 函数从服务器检索 JSON,但我不知道如何在 onModuleLoad() 中调用它。代码是:

public void doGet(String url, final AsyncCallback<JavaScriptObject> callback) {
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);

    try {
        builder.sendRequest(null, new RequestCallback() {
            public void onError(Request request, Throwable caught) {
                callback.onFailure(caught);
            }
            public void onResponseReceived(Request request, Response response) {
                if(response.getStatusCode() == STATUS_CODE_OK) {
                    try {
                        callback.onSuccess(JsonUtils.safeEval(response.getText()));
                    } catch(IllegalArgumentException iax) {
                        callback.onFailure(iax);
                    }
                }
                else {
                    callback.onFailure(new Exception("Bad return code..."));
                }
            }
        });
    } catch(RequestException e) {
        callback.onFailure(e);
    }
}

我知道这是一个愚蠢的问题(我是初学者),但我如何调用 doGet?例如:

doGet("http://192.168.1.10:8080/ProvaRpi/raspberry/sample/artisti", what here?);

我需要 AsyncCallback,因为我想在另一个页面或 TextBox 中显示来自数据库的 JSON。 欢迎每个代码改进! 谢谢!

【问题讨论】:

标签: java json rest gwt


【解决方案1】:

您可以这样拨打电话:

doGet("your url", new AsyncCallback<JavaScriptObject>() {

    @Override
    public void onSuccess(JavaScriptObject result) {
        // process the result
    }

    @Override
    public void onFailure(Throwable caught) {
        // process when error
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    • 1970-01-01
    • 2019-05-26
    相关资源
    最近更新 更多