调用第三方接口并转成自定义实体类
工具类描述:
调用第三方的接口,并处理返回结果,将结果转成自定义的实体类
工具类如下:
package com.dg.smart.common;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.dg.smart.pojo.UserPojo;
import java.util.HashMap;
import java.util.Map;
public class GetUserInfo {
public static UserPojo getUserInfoById(String id){
Map<String, String> map = new HashMap<>();
map.put("uid",id);
String http = HttpClientUtil.doPost("http://127.0.0.1:8080/csdn/findUserByUserId",map);
JSONObject jsonResult= JSON.parseObject(http);
JSONObject jsonArray=(JSONObject) jsonResult.get("data");
UserPojo list = JSONObject.parseObject(jsonArray.toJSONString(), UserPojo.class);
//System.out.println("list : " + list);
return list;
}
/**
* 带参数的post请求
* @param url 访问地址
* @param param 格式: (参数名,参数值)
* @return String
*/
public static String doPost(String url, Map<String, String> param) {
// 创建Httpclient对象
CloseableHttpClient httpClient = HttpClients.createDefault();
CloseableHttpResponse response = null;
String resultString = "";
try {
// 创建Http Post请求
HttpPost httpPost = new HttpPost(url);
// 创建参数列表
if (param != null) {
List<NameValuePair> paramList = new ArrayList<NameValuePair>();
for (String key : param.keySet()) {
paramList.add(new BasicNameValuePair(key, param.get(key)));
}
// 模拟表单
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramList);
httpPost.setEntity(entity);
}
// 执行http请求
response = httpClient.execute(httpPost);
if (response != null){
resultString = EntityUtils.toString(response.getEntity(), "utf-8");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (response != null){
response.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return resultString;
}
}
UserPojo.java 实体类如下:
package com.dg.smart.pojo;
public class UserPojo {
// 用户id
private String uid;
// 用户名
private String urelname;
// 手机号
private String mobileNumber;
// 部门id
private String deptId;
// 备注信息
private String remarks;
public String getDeptId() {
return deptId;
}
public void setDeptId(String deptId) {
this.deptId = deptId;
}
public String getUid() {
return uid;
}
public void setUid(String uid) {
this.uid = uid;
}
public String getUrelname() {
return urelname;
}
public void setUrelname(String urelname) {
this.urelname = urelname;
}
public String getMobileNumber() {
return mobileNumber;
}
public void setMobileNumber(String mobileNumber) {
this.mobileNumber = mobileNumber;
}
public String getRemarks() {
return remarks;
}
public void setRemarks(String remarks) {
this.remarks = remarks;
}
@Override
public String toString() {
return "UserPojo{" +
"uid='" + uid + '\'' +
", urelname='" + urelname + '\'' +
", mobileNumber='" + mobileNumber + '\'' +
'}';
}
}