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

深圳网站制作工具网站建设及维护保密协议

深圳网站制作工具,网站建设及维护保密协议,网站进入考核期要多久,淄博做网站优化公司问题背景 业务需要#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.pierceye.com/news/206576/

相关文章:

  • 湖南平台网站建设制作企业网站关联优化
  • 优秀网站设计作品大连seo外包
  • 共享空间网站开发公司做网站 最好的开源cms
  • 免费图片素材网seo wordpress主题
  • ipad可以做网站推广吗wordpress主题中文
  • 自己做网站要会什么软件下载wordpress 小工具代码
  • 视频拍摄及制作培训网站优化有什么用
  • 沈阳网站排名公司网站开发专业怎么样
  • 电影院网站建设方案网络维护是什么职业
  • 网站建设需要的公司wordpress考试主题
  • 企业网站管理系统多站多语言版电子书推送网站怎么做
  • 海洋公司做网站推广安阳网站如何做优化
  • 南昌网站开发公司哪家公司好网站建设接单
  • 宁波网站制作哪家强调用wordpress的文章编辑器
  • 在线制作手机网站公司网站建设厂家
  • 在线分析网站一个小外贸公司怎么开
  • 给自己的公司做网站怎么做好电脑手机一体网站
  • 精通网站建设 全能建站密码pdf电商网站设计理念
  • 百度推广建设网站是不是合发手机网站的必要性
  • 企业网站建设是什么实现的物质基础和技术支撑现货交易平台代理
  • 网站建设的描述长沙发布app
  • 好的设计作品网站代理网站建设
  • 做网站的软件m开头网站建设公司问候语
  • 做网站需要工商证吗app软件开发价格
  • 做足球原创短视频网站网站建设永远在路上
  • 做seo为什么要了解网站苏州做网站公司
  • 这几年做哪些网站能致富网站开发账务处理
  • 网站的版权信息做阿里巴巴网站卖货咋样
  • 找项目去哪个网站成都哪里有做网站的公司
  • 网站推广的方法及特点国外专门做童装的网站