首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Java泛型对象在http请求和响应对象中的封装

Java泛型对象在http请求和响应对象中的封装

作者头像
oktokeep
发布2024-10-09 11:00:18
发布2024-10-09 11:00:18
77000
代码可运行
举报
文章被收录于专栏:第三方工具第三方工具
运行总次数:0
代码可运行

Java泛型对象在http请求和响应对象中的封装

代码语言:javascript
代码运行次数:0
运行
复制
public class MySystemBaseResVo<T> {   //注意:类的后面需要带上<T>,否则数据无法封装
    private String err_no;
    private String err_tips;
    private T data;

    public String getErr_no() {
        return err_no;
    }

    public void setErr_no(String err_no) {
        this.err_no = err_no;
    }

    public String getErr_tips() {
        return err_tips;
    }

    public void setErr_tips(String err_tips) {
        this.err_tips = err_tips;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }
}


//发起请求封装到 T泛型类中
String resultJsonData = HttpClientV2Util.doPostForJson(url, json);

        MySystemBaseResVo baseResVo = JSON.parseObject(resultJsonData, MySystemBaseResVo.class);
        if(baseResVo.getData() != null) {
            T resp = JSON.parseObject(baseResVo.getData().toString(), responseClass);
            baseResVo.setData(resp);
        }
        

//在具体使用的类中强制转换为 具体的实现类
if(baseResVo.getData() != null) {
    //匹配
    if (baseResVo.getData() instanceof MySettingResVo) {
        MySettingResVo mySettingResVo = (MySettingResVo) baseResVo.getData();
        logger.info("mySettingResVo=[{}]",GsonUtils.toJson(mySettingResVo));
    }else if(baseResVo.getData() instanceof MySystemBaseResVo){
        MySystemBaseResVo mySystemBaseResVo = (MySystemBaseResVo) baseResVo.getData();
        logger.info("mySystemBaseResVo=[{}]",GsonUtils.toJson(mySystemBaseResVo));
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-09-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档