Step 1. Add the JitPack repository to your build file
Add it in your root settings.gradle at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
Add it in your settings.gradle.kts at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url = uri("https://jitpack.io") }
}
}
Add to pom.xml
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Add it in your build.sbt at the end of resolvers:
resolvers += "jitpack" at "https://jitpack.io"
Add it in your project.clj at the end of repositories:
:repositories [["jitpack" "https://jitpack.io"]]
Step 2. Add the dependency
dependencies {
implementation 'com.github.jeanpeng:libhttp:v1.1.4'
}
dependencies {
implementation("com.github.jeanpeng:libhttp:v1.1.4")
}
<dependency>
<groupId>com.github.jeanpeng</groupId>
<artifactId>libhttp</artifactId>
<version>v1.1.4</version>
</dependency>
libraryDependencies += "com.github.jeanpeng" % "libhttp" % "v1.1.4"
:dependencies [[com.github.jeanpeng/libhttp "v1.1.4"]]
##主要接口包括:
1.HttpRequestManager 负责libhttp组件的初始化
2.AbsHttpRequestProxy 抽象http请求代理类,支持扩展域名和公共参数
3.HttpRequestProxy http请求代理类
3.HttpReqParam 定义了http请求的注解类
##使用方法: ###1.初始化 HttpRequestManager.getInstance().init(context);
###2.构造数据结构
1)构造ResponseModel
public class DialogBean {
//定义response数据结构
}
2)构造RequestModel
@HttpReqParam(responseType = DialogBean.class, protocal = "http://192.168.30.6/hybrid/h5zip/raw/develop/app/config_dialog.json")
public class HttpGetDialogConfigRequest {
//定义request数据结构
}
###3.发起请求
HttpRequestProxy.get().create(new HttpTestRequest(), new AbsHttpRequestProxy.RequestListener<DialogBean>() {
@Override
public void onSuccess(DialogBean response) {
DialogBean.HomepageBean bean = response.getHomepage().get(0);
}
@Override
public void onFailed(VolleyError error) {
}
}).tag(this.toString()).cache(false).gzip(true).build().excute();
###4.取消请求 proxy.cancel();
###5.批量取消请求 HttpRequestManager.getInstance().cancelAll(tag);