1.将不同类型的请求如 GET和POST封装起来
GET请求(不带参数的GET/带参数的GET/不带token的GET/带token的GET),
POST请求(不带参数的POST/带参数的POST/带token的POST)
2.请求参数进行封装
3.释放资源进行封装
4.请求头进行封装(和请求参数类似,这里因为请求头少就先不封装了)
5.返回的响应结果进行封装(还未进行)
具体实现:
1.将不同类型的请求如 get,不带参数的get,带参数的get,不带参数的post,带参数的post封装起来
1.GET请求
/**
* 发送HttpGet请求,不带请求头和请求参数
* @param url
* @return
*/
public static String doGet(String url) throws Exception {
return doGet(url,null,null);
}
/**
* 发送HttpGet请求,带请求头和请求参数
* @param url
* @param token
* @return
*/
public static String doGet(String url,Map<String,String> params,String token) throws Exception{
CloseableHttpClient httpClient = null;
CloseableHttpResponse httpResponse = null;
String result = null;
try {
//1.创建httpClient对象
httpClient = HttpClients.createDefault();
// 创建访问的地址
URIBuilder uriBuilder = new URIBuilder(url);
if (params != null) {
Set<Entry<String, String>> entrySet = params.entrySet();
for (Entry<String, String> entry : entrySet) {
uriBuilder.setParameter(entry.getKey(), entry.getValue());
}
}
//2.创建httpGet对象
HttpGet httpget = new HttpGet(uriBuilder.build());
//2.1设置请求头
httpget.setHeader("Authorization",token);
//3.使用httpClient发起请求并响应获取repsonse
httpResponse = httpClient.execute(httpget);
// 打印响应状态
System.out.println(httpResponse.getStatusLine());
//4.解析响应,获取数据
HttpEntity entity = httpResponse.getEntity();
if (entity != null) {
result = EntityUtils.toString(entity);
// 打印响应内容长度
System.out.println("Response content length: " + entity.getContentLength());
// 打印响应内容
System.out.println("Response content: " + result);
}
} catch (ParseException | IOException e) {
e.printStackTrace();
}
finally {
//5.释放资源
release(httpResponse,httpClient);
}
return result;
}
2.POST请求
/**
* 发送POST请求,不带Token,不带请求参数
* @param url
* @return
*/
public static String doPost(String url) throws Exception {
return doPost(url,null,null);
}
/**
* 发送POST请求,不带Token,带请求参数
* @param url
* @param jsonstr
* @return
*/
public static String doPost(String url, String jsonstr) throws Exception {
return doPost(url,jsonstr,null);
}
/**
* 发送POST请求,带Token,带请求参数
* @param url
* @param jsonstr
* @param token
* @return
*/
//public static String doPost(String url, JSONObject json,String token) {
public static String doPost(String url, String jsonstr,String token) throws Exception {
CloseableHttpClient httpClient = null;
CloseableHttpResponse httpResponse=null;
String result="";
try {
//1.创建httpClient对象
httpClient = HttpClients.createDefault();
//2.创建httpPost对象
HttpPost httpPost = new HttpPost(url);
//2.1对象设置请求头
httpPost.setHeader("C