首页 > 编程语言 >Java泛型对象在http请求和响应对象中的封装

Java泛型对象在http请求和响应对象中的封装

时间:2023-09-08 18:45:38浏览次数:45  
标签:http String err no baseResVo 泛型 Java tips getData

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

相关文章

  • 无涯教程-JavaScript - IMEXP函数
    描述IMEXP函数以x+yi或x+yj文本格式返回复数的指数。复数的指数为-$$e^{((x+yi)}=e^xe^{yi}=e^x(\cosy+i\siny)$$语法IMEXP(inumber)争论Argument描述Required/OptionalInumberAcomplexnumberforwhichyouwanttheexponential.Requir......
  • JAVASE 第三天
    JAVASE基本的Dos命令#盘符切换 D:#查看当前目录下的所有文件dir#切换目录(/d换盘符写在cd后)cd文件夹#返回上一级cd..#清理屏幕cls#打开应用calc计算机,notepad记事本,mspaint画图#ping命令可以获得IP地址延迟一般用来测试网络,是否正常pingwww.baidu.com......
  • java 支持 超大上G,多附件上传示例解析
    ​ 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现。先说下要求:PC端全平台支持,要求支持Windows,Mac,Linux支持所有浏览器。支持文件批量上传支持文件夹上传,且要求在服务端保留层级结构。文件夹数量要求支持到10W......
  • JavaNote04-数组与排序算法
    1.数组的概述1.1数组的概念数组(Array)是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。数组中的概念:数组名、下标(或索引)、元素、数组的长度数组的特点:数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基......
  • 纯java 实现定时任务的两种方式
    1.情景展示在实际项目开发过程中,往往会存在这样的需求:定时执行某个任务,如何实现?2.具体分析定时任务,其实就是定时调用。在代码中,我们可以通过定时运行某个类的某个方法来实现。具体实现方式,有两种:一种是通过java实现。另一种是借助spring来实现。本文只说java实现方式。......
  • javascript | 变量、函数、属性的命名规则
    javascript标识符的命名规则变量、函数、属性的名字、或者函数的参数,都可称为标识符。标识符可以是按照下列格式规则组合起来的一个或者多个字符。第一个字符必须是一个字母、下划线_、或美元符号$。数字不可以作为标识符的首字符。其他字符可以是数字、字母、下划线_、或美......
  • java笔试题,寻找多出来的元素
    题目:有两个数组a和b,其中b有一个元素是a没有的,其他元素都相同,请找出b中这个多余的元素。1publicclassTest02{2 3publicstaticvoidmain(String[]args){4int[]a={11,34,9,-4,100,98};5int[]b={34,55,11,9,100,-4,98};67intc=0;8for(inti=0......
  • java设计模式,简单工厂和抽象工厂有什么区别?
    java设计模式,简单工厂和抽象工厂有什么区别?简单工厂模式:这个模式本身很简单而且使用在业务较简单的情况下。一般用于小项目或者具体产品很少扩展的情况(这样工厂类才不用经常更改)。它由三种角色组成:工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑,根据逻辑不同,产生具体的工......
  • java开发之个微机器人的二次开发
    简要描述:修改我在某群的昵称请求URL:http://域名/updateIInChatRoomNickName请求方式:POST请求头Headers:Content-Type:application/jsonAuthorization:login接口返回参数:参数名必选类型说明wId是String登录实例标识请求参数示例{"wId":"4941c159-48dc-4271-b0d0-f94adea39127",......
  • 【IIS】HTTP 错误 405.0 - Method Not Allowed,无法显示您正在查找的页面,因为使用了无
    转自:https://blog.csdn.net/weixin_38211198/article/details/103597330问题HTTP 错误 405.0 - Method Not Allowed无法显示您正在查找的页面,因为使用了无效方法(HTTP 谓词)。 解决在IIS中,找到处理程序映射上面的报错已经指明是WebDAVModule模块,找到该模块  ......