me.chanjar.weixin.common.util.http.SimpleGetRequestExecutor Maven / Gradle / Ivy
package me.chanjar.weixin.common.util.http;
import me.chanjar.weixin.common.enums.WxType;
import me.chanjar.weixin.common.error.WxError;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.common.util.http.apache.ApacheSimpleGetRequestExecutor;
import me.chanjar.weixin.common.util.http.jodd.JoddHttpSimpleGetRequestExecutor;
import me.chanjar.weixin.common.util.http.okhttp.OkHttpSimpleGetRequestExecutor;
import java.io.IOException;
/**
* 简单的GET请求执行器.
* 请求的参数是String, 返回的结果也是String
*
* @author Daniel Qian
*/
public abstract class SimpleGetRequestExecutor implements RequestExecutor {
protected RequestHttp requestHttp;
public SimpleGetRequestExecutor(RequestHttp requestHttp) {
this.requestHttp = requestHttp;
}
@Override
public void execute(String uri, String data, ResponseHandler handler, WxType wxType) throws WxErrorException, IOException {
handler.handle(this.execute(uri, data, wxType));
}
public static RequestExecutor create(RequestHttp, ?> requestHttp) {
switch (requestHttp.getRequestType()) {
case APACHE_HTTP:
return new ApacheSimpleGetRequestExecutor(requestHttp);
case JODD_HTTP:
return new JoddHttpSimpleGetRequestExecutor(requestHttp);
case OK_HTTP:
return new OkHttpSimpleGetRequestExecutor(requestHttp);
default:
throw new IllegalArgumentException("非法请求参数");
}
}
protected String handleResponse(WxType wxType, String responseContent) throws WxErrorException {
WxError error = WxError.fromJson(responseContent, wxType);
if (error.getErrorCode() != 0) {
throw new WxErrorException(error);
}
return responseContent;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy