调用第三方接口并转成自定义实体类

调用第三方接口并转成自定义实体类

工具类描述:

​ 调用第三方的接口,并处理返回结果,将结果转成自定义的实体类

工具类如下:

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 + '\'' +
                '}';
    }
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值