Skip to content

ejin66/QuickHttp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QuickHttp

1. Example

​         发起请求

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) {

            }
        });

2. 处理固定响应格式

​         通常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>

3. 取消请求

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);

4. 同步请求

String response = client.sync().get("http://www.baidu.com");
//do something

How To Use

<dependency>
    <groupId>com.github.ejin66</groupId>
    <artifactId>QuickHttp</artifactId>
    <version>1.1.1</version>
</dependency>

or

compile 'com.github.ejin66:QuickHttp:1.1.1'

About

Help u easily and quickly to do network-request

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages