当前位置: 首页 > 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://wiki.neutronadmin.com/news/25931/

相关文章:

  • 优美网站源码前端做网站都要做哪些
  • 深圳线运营是网站建设推网怎么制作
  • 常州个人做网站河南工程学院网站建设
  • 网站不想被百度抓取asp网站开发 pdf
  • 唐山乾正建设工程材料检测公司网站哈尔滨网站建设费用
  • 中文域名.网站泉州手机端建站模板
  • 如何找到做网站的客户浙江网站备案流程
  • html后缀的网站运动健身类网站开发
  • 上海网站建设的价格是多少钱青海小学网站建设
  • vue 做电商网站宁波网页设计找哪家
  • 大连seo推广优化seo推广是什么
  • 最大的搜索网站排名软件如何制作
  • 自媒体时代做网站有前途吗做视频网站
  • 诸暨制作网站的公司有哪些你不会百度吗网页生成
  • 做网站配置好了找不到服务器技术支持 东莞网站建设电脑回收
  • 免费网站源码下载平台wordpress里的发消息给我
  • 佛山企业如何建网站公司网站首页布局图
  • 怎么做培训班网站网站开发实战
  • dede做招聘网站深圳我的网站
  • 网站设计的内容python wordpress建站
  • 模版网站建设企业百度seo优化网站
  • 手机微网站第二年续费吗旅游找什么网站好
  • 建设搜索引擎网站江苏省建是国企吗
  • 网站建设团队分工贵安新区网站建设推广
  • 做网站域名要自己注册吗个体工商网站备案
  • 河南艾特网站建设公司石家庄局域网网站建设
  • 网站建设是指如何更换网站的logo
  • 石家庄手机建网站做剧情游戏的网站
  • 怎么做网站策划的模板聊天软件
  • 临沂网站建设报价新余网站建设公司