☞ http-request 是通过封装java httpURLConnection的 Maven 包,可快速使用java的GET、POST、PUT、DELETE,请求
<!--使用httprequest源-->
<repositories>
<repository>
<id>github-rich-repo</id>
<name>httprequest</name>
<url>https://huangzhenjie2.github.io/http-request/maven-repo/</url>
</repository>
</repositories>
<!--添加依赖-->
<dependencies>
<dependency>
<groupId>cn.ac.hzj.httprequest</groupId>
<artifactId>http-request</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependencies>
import cn.ac.hzj.httprequest.HttpRequest;
....
String context = HttpRequest.get("https://www.baidu.com").getContext();
System.out.println(context);
....
2.1 转换为map类型
import cn.ac.hzj.httprequest.HttpRequest;
import cn.ac.hzj.httprequest.HttpHeaderBuilder;
.....
Map<String, String> respMap = HttpRequest.get("http://localhost:9020/api/v1/token",
HttpHeaderBuilder.init().setAccept("application/json").put("app_key", "00****002")
.put("app_secret", "****plosPxyVP6c************").build()
).fromJson(Map.class);
System.out.println(respMap.toString());
....
2.2 通过get获取json并转换为自定义类型
import cn.ac.hzj.httprequest.HttpRequest;
import cn.ac.hzj.httprequest.HttpHeaderBuilder;
....
class Token {
public String message;
public String token;
public int code;
public Token(String message, String token, int code) {
this.message = message;
this.token = token;
this.code = code;
}
public Token() {
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
}
....
Toeken token = HttpRequest.get("http://localhost:9020/api/v1/token",
HttpHeaderBuilder.init().setAccept("application/json").
put("app_key", "0000000002")
.put("app_secret", "BiyplosPxyVP6cvF4Rp7e8TD2TWZQuUG").build()
).fromJson(Toeken.class);
System.out.println(token.getToken());
....
import cn.ac.hzj.httprequest.HttpRequest;
....
HttpRequest.get("https://www.baidu.com").download("./","index.html");
....
Tips: 获取文本用getContext(),转为java类型用fromJson,保存结果用dowload(),其他的POST、DELTE、PUT 都适用,转换为JAVA类型时响应结果必须是JSON!一定要是JSON。 使用downlad(),服务响应结国可以是任意类型,只要指定好正确的文明名即可。
import cn.ac.hzj.httprequest.HttpRequest;
....
String result = HttpRequest.post(
http://localhost:9020/api/v1/token,
HttpBodyBuilder.init()
.put("app_key",app_key)
.put("app_secret", app_secret).build()
).getContext();
....
import cn.ac.hzj.httprequest.HttpBodyBuilder;
import cn.ac.hzj.httprequest.HttpRequest;
....
HttpRequest.upload(
http://localhost:9020/api/v1/user/,
HttpBodyBuilder.init().putFile("file","./1.img") //可以添加多个文件这里的key相当于from表单inputname,values是文件按路径,可以是相对路径或绝对路径
.put("business_id", "H"+System.currentTimeMillis())
.put("business_name","图片")
.put("token", token).build()
).getContext();
....
import cn.ac.hzj.httprequest.HttpRequest;
....
String result = HttpRequest.put(
http://localhost:9020/api/v1/user/001,
HttpBodyBuilder.init()
.put("email","hua****@outlook.com")
.put("phone_number", "130****1824").build()
).getContext();
....
import cn.ac.hzj.httprequest.HttpRequest;
....
String result = HttpRequest.delete(
http://localhost:9020/api/v1/user,
HttpBodyBuilder.init()
.put("username","001")
).getContext();
....
import cn.ac.hzj.httprequest.HttpRequest;
....
HttpRequest.request(
"http://localhost:9020/api/v1/user",
"HEAD", //请求方法
HttpHeaderBuilder.init().build(), //初始化header
null, //请求体
1500, //连接超时时间
6000, //读取超时时间
false, //是否使用输出流
true, //是否使用输入流
false //是否使用缓存
).getContext();
....