Java泛型对象在http请求和响应对象中的封装
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 删除http对象泛型数据java发布者:admin,转转请注明出处:http://www.yc00.com/web/1754976862a5223608.html
评论列表(0条)