发起请求
QuickClient.getDefault().get("http://www.baidu.com", new StringCallback() {
@Override
void onSuccess(String s) {
}
@Override
void onError(int code, String error) {
}
});
自动映射到对象
QuickClient client = new QuickClient.Builder().Build();
client.post("url", new ModelCallback<Demo>() {
@Override
void onSuccess(Demo demo) {
}
@Override
void onError(int code, String error) {
}
});
通常API响应的格式如下
{
"errCode": 0,
"errMsg": "",
"data": {
...
}
}
将字段data映射到不同对象,调用如下:
//在response模板中,增加注解@Code,@Error,@Data
public class BaseResponse {
@Code
public int errCode;
@Error
public String errMsg;
@Data
public JsonElement data;
}
//将模板设置到client
QuickClient client = new QuickClient.Builder()
.setTemplate(BaseResponse.class)
.enableLog(true)
.Build();
//在回调泛型中指定data需要映射的对象类型
client.post("url", new ModelCallback<DataBean>() {
@Override
void onSuccess(DataBean dataBean) {
}
@Override
void onError(int code, String error) {
}
});
注:callback<T>必须是具体class,不能在包含泛型。如List<String>
Object tag = new Object();
client.get(tag, "http://www.baidu.com", new StringCallback() {
@Override
void onSuccess(String s) {
}
@Override
void onError(int code, String error) {
}
});
client.cancel(tag);
String response = client.sync().get("http://www.baidu.com");
//do something
<dependency>
<groupId>com.github.ejin66</groupId>
<artifactId>QuickHttp</artifactId>
<version>1.1.1</version>
</dependency>
or
compile 'com.github.ejin66:QuickHttp:1.1.1'