Java泛型对象在http请求和响应对象中的封装
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)); } }
标签:http,String,err,no,baseResVo,泛型,Java,tips,getData From: https://www.cnblogs.com/oktokeep/p/17688322.html