gpt4 book ai didi

java - 扩展 AsyncHTTPClient 添加默认成功回调

转载 作者:行者123 更新时间:2023-12-01 17:53:36 26 4
gpt4 key购买 nike

我知道这一定很简单,但我很困惑。我正在使用AsyncHttpClient在我的项目中。我想创建一个新类,例如 AsyncHttpClient2 ,它将扩展 AsyncHttpClient。该类当前正在为每个请求添加一个 token 。 我希望如果响应是UNAUTHORIZED,它应该执行一些操作。

这是POST语法:

String url = "https://ajax.googleapis.com/ajax/services/search/images";
AsyncHttpClient client = new AsyncHttpClient();
RequestParams params = new RequestParams();
params.put("q", "android");
params.put("rsz", "8");
client.post(url, params, new JsonHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
// handler code
}

@Override
public void onFailure(int statusCode, Header[] headers, String res, Throwable t) {
// error code
}
});

这是我的代码:

public class TokenAsyncHttpClient extends AsyncHttpClient {
public TokenAsyncHttpClient() {
super();
this.addHeader("x-access-token", "00000000000000000000000");
}


// THIS GIVES ERROR Method does not override method from its superclass

@Override
public void onSuccess(int statusCode, Header[] headers, JSONObject response) {

// PERFORM SOME ACTION HERE

}
}

但这在 @Override 行上给了我以下错误:

Method does not override method from its superclass

我做错了什么?如何在 onSuccess 中添加默认操作?

最佳答案

您应该创建一个扩展JsonHttpResponseHandler而不是AsyncHttpClient的类(例如TokenHttpResponseHandler),并以这种方式将其传递给客户端AsyncHttpClient client.post(url, params, new TokenHttpResponseHandler() {....

然后在 TokenHttpResponseHandler 中,您可以覆盖 OnSuccessOnFailure 并设置其默认行为。

例如

public class TokenHttpResponseHandler extends JsonHttpResponseHandler {
public TokenHttpResponseHandler() {
super();
}


@Override
public void onSuccess(int statusCode, Header[] headers, JSONObject response) {

// PERFORM SOME ACTION HERE

}
}

关于java - 扩展 AsyncHTTPClient 添加默认成功回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47390480/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com