当前位置: 首页 > news >正文

山东网站排行网站运营模式

山东网站排行,网站运营模式,pc网站同步手机网站,绵阳网站建设工作室问题背景 业务需要#xff0c;经常需要http方式调用某服务#xff0c;然后某服务返回特定类型的返回内容。 类似 String resStr xxxHttpClient.post() #xff0c;然后它返回一个字符串#xff0c;你还需要反序列化成某种格式的。 返回值可以反序列化成的形式如下#…问题背景 业务需要经常需要http方式调用某服务然后某服务返回特定类型的返回内容。 类似 String resStr xxxHttpClient.post() 然后它返回一个字符串你还需要反序列化成某种格式的。 返回值可以反序列化成的形式如下 {private String code;private String message;//这里的这个“T”就是根据具体业务需要而不同的类型可能是一个class也可能是一个List等private T data; }注意这里的这个T是个活的它可能根据接口的内容不同而不同。 有时候是个普通对象如 public class StudentInfo{private Integer age;private String name; }这样。 2. 有时候是个List如 ListStudentInfo 这样 3. 有时候是个嵌套对象如 public class StudentInfo{private Integer pageNum;private Integer pageSize;private Integer totalCount;private ListStudentInfo list; }这样。 甚至更多种情况那么要怎么办呢 还挺不好写活的。 封装了一个方法实现上述功能 (已删除若干不相干代码不影响含义) import cn.xxx.dto.BaseCommonResDTO; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component;import java.util.List; import java.util.Map;/*** author * date 2023年8月25日* desc 泛型方法返回泛型完美封装* https://blog.csdn.net/qq_39348918/article/details/120529916*/ Slf4j Component public class MyCustomHttp {/*** 返回数据类型* 其中T是xxx的htttp接口返回的数据的类型** param url* param params* return*/public T extends Object T doPost(String url, MapString, String params, ClassT clazz) {//当前时间戳Long timestamp System.currentTimeMillis();String sign .....;//headersMapString, String heads ...;ResponseBody responseBody myXXHttpClient.doPost(url, heads, params);String responseMsg responseBody.getResponseMsg();//普通反序列化//MyDataResDTO myDataResDTO JSONObject.parseObject(reposeBody.getResponseMsg(), MyDataResDTO.class);//嵌套类反序列化BaseCommonResDTOT result JSONObject.parseObject(responseMsg, new TypeReferenceBaseCommonResDTOT(clazz) {});if (null ! result) {T data result.getData();return data;} else {return null;}}public T extends Object ListT doPostForList(String url, MapString, String params, ClassT clazz) {//当前时间戳Long timestamp System.currentTimeMillis();String sign ...;//headersMapString, String heads ...;ResponseBody responseBody myXXHttpClient.doPost(url, heads, params);String responseMsg responseBody.getResponseMsg();//普通反序列化//MyDataResDTO myDataResDTO JSONObject.parseObject(reposeBody.getResponseMsg(), MyDataResDTO.class);//嵌套类反序列化BaseCommonResDTOListT result JSONObject.parseObject(responseMsg, new TypeReferenceBaseCommonResDTOListT(clazz) {});if (null ! result) {ListT data result.getData();return data;} else {return null;}} } 使用举例 调用的时候 //返回对象 包括返回普通对象 和 返回嵌套对象都亲测成功 public StudentInfo getStudentInfo (Integer page, Integer pageSize) {MapString, String params Maps.newHashMap();params.put(param1, page);params.put(param2, pageSize);StudentInfo studentInfo MyCustomHttp.doPost(url, params, StudentInfo.class);return studentInfo; }//返回list public ListStudentInfo getAllStudentInfos(Integer page, Integer pageSize) {MapString, String params Maps.newHashMap();params.put(param1, page);params.put(param2, pageSize);ListStudentInfo studentInfos MyCustomHttp.doPostForList(url, params, StudentInfo.class);return studentInfos; }然后再使用就非常优雅了。 主要思想就是把想返回的数据类型作为doPost 或 doPostForList的第三个参数传入从而实现灵活控制接口返回类型的目的。 感觉效果不错推荐使用。
http://www.yutouwan.com/news/25931/

相关文章:

  • 海东营销网站建设石大远程在线考试 《网页设计与网站建设》
  • 查网课答案的网站怎么做龙岩属于哪里
  • 樟木头网站推广城乡建设局的官方网站
  • 网站论坛建设方案成都平台网站开发公司
  • 建设部招投标网站云服务器免费试用
  • 网站建设公司市场wordpress正在建设中
  • 奉化市住房和城乡建设局网站中国网站建设总部在哪里
  • aspcms网站打不开网店美工的职责有哪些
  • 网站兼容浏览器浙江省专业网站制作网站建设
  • 免费企业网站建设单位网页设计模板图片大全
  • 购物商城网站建设方案青岛建站方案
  • 云南网站建设维修公司哪家好展示型手机网站模板
  • 招聘网站上找在家做哈尔滨网站制作哪家好薇
  • 金融网站建设网专注建设高端网站
  • 小说网站开发项目简介基于asp的网站设计与实现
  • 网站怎么做微信支付wordpress 网站 上传
  • 建站软件可以不通过网络建设吗想做网站的公司
  • 免费网站一级a做爰在免费线看wordpress nginx配置ssl
  • 商洛做网站网站开发的费用
  • 网站内部优化怎么做用安卓做网站
  • 建设银行无锡分行网站wordpress appcan-wp
  • 公司内部网站怎么建设南京seo关键词排名
  • 如何开发wordpress潍坊网站优化
  • 互联网行业网站设计周口集团网站建设
  • 域名备案好了怎么建设网站长沙网站建设服务公司
  • 相亲网站做期货现货贵金属的人博客做资讯类网站
  • 怎么弄自己的网站卖东西信誉好的丹阳网站建设
  • 网页设计需求分析搜狗seo快速排名公司
  • 教育类网站模板最新软件开发国家标准
  • 武昌做网站多少钱asp网站后台制作