SpringCloud微服务项目跨模块接口调用中,将接口返回数据转换封装成实体类的实现

1.跨模块接口调用返回示例:

{
    "status": 200,
    "message": "ok",
    "data": {
        "id": 1,
        "username": null,
        "password": null,
        "code": null,
        "name": "周同学",
        "classesId": null,
        "classesName": null,
        "major": "",
        "sex": "男",
        "phoneNumber": null,
        "qqNumber": null,
        "mailAddress": null,
        "role": null,
        "roleId": null,
        "roleName": null,
        "userFace": "http://192.168.23.222:7099/group1/M00/00/00/wKgX3l3c0n2AfvARAAEutbwARh4844.jpg",
        "desc": null,
        "gmtCreate": null,
        "gmtUpdate": null,
        "enable": null,
        "offline": null,
        "totalTimes": null,
        "averageTimes": null
    },
    "success": true
}

2.创建实体接受类UserInfo:

public class UserInfo {

    private String userId;

    private String userNum;

    private String name;

    private String userFace;

    private String userRole;

    private String classId;

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getUserNum() {
        return userNum;
    }

    public void setUserNum(String userNum) {
        this.userNum = userNum;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getUserFace() {
        return userFace;
    }

    public void setUserFace(String userFace) {
        this.userFace = userFace;
    }

    public String getUserRole() {
        return userRole;
    }

    public void setUserRole(String userRole) {
        this.userRole = userRole;
    }

    public String getClassId() {
        return classId;
    }

    public void setClassId(String classId) {
        this.classId = classId;
    }

    @Override
    public String toString() {
        return "UserInfo{" +
                "userId='" + userId + '\'' +
                ", userNum='" + userNum + '\'' +
                ", name='" + name + '\'' +
                ", userFace='" + userFace + '\'' +
                ", userRole='" + userRole + '\'' +
                ", classId='" + classId + '\'' +
                '}';
    }
}

3.实体转化工具类ConvertUtils:

public class ConvertUtils {
    public static UserInfo convertInfoToToUserInfo(LinkedHashMap<Object,Object> info) {
        UserInfo userInfo = new UserInfo();
        if ( (info != null) && (!info.isEmpty()) ) {
            userInfo.setUserId(String.valueOf(info.get("id")));
            userInfo.setName(String.valueOf(info.get("name")));
            userInfo.setUserNum(String.valueOf(info.get("username")));
            userInfo.setUserFace(String.valueOf(info.get("userFace")));
            userInfo.setUserRole(String.valueOf(info.get("major")));
            return userInfo;
        }
        return null;
    }
}

4.得到封装转化对象:

private UserInfo getUserInfoDetail(Integer userId){

        //根据用户id查找用户信息(跨模块接口调用)
        HttpRespond info=userClient.findUserDescById(userId);
        //将其转化封装成UserInfo对象
        UserInfo userInfoDetail = ConvertUtils.convertInfoToToUserInfo((LinkedHashMap<Object, Object>) info.getData());

        return userInfoDetail;
    }
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Keson Z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值