SpringBooot之RestTemplate接口返回多层泛型导致java.util.LinkedHashMap cannot be cast to异常

统一泛型返回对象

@Data
public class Res<T> implements Serializable {private static final long serialVersionUID = 6558796578827818466L;private Integer code; //状态码private String msg; //返回消息private T data; //数据
}

data里包裹的泛型对象假设是DZPJ

@Data
public class DZPJ implements Serializable {private String billNo;//发票号码
}

postForEntity或postForObject接收参数多层泛型用下面这种方式接收参数会抛出类型转换异常

		Res<DZPJ> res = restTemplateBuilder.build().postForEntity(requestUrl, new HttpEntity<>(dto, headers), Res.class).getBody();//此时这里会抛出java.util.LinkedHashMap cannot be cast to DZPJDZPJ dzpj = res.getData();

正确做法

	Res<DZPJ> res = restTemplateBuilder.build().exchange(requestUrl, HttpMethod.POST, new HttpEntity<>(dto, headers), new ParameterizedTypeReference<Res<DZPJ>>() {}).getBody();//这里就可以正常解析了。DZPJ dzpj = res.getData();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/704786.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Android移动开发】Windows10平台安装Android Studio与人工智能算法模型部署案例

目录 一、Android Studio下载地址二、开发环境JDK三、开始安装Android Studio四、案例展示与搭建五、人工智能算法模型移动端部署案例参考 一、Android Studio下载地址 https://developer.android.google.cn/studio/install.html 电脑配置要求&#xff1a; 下载保存在指定文…

Centos7下安装ruby2.7.8环境、WPScan的安装及使用介绍

前一段自己搭建了一个基于Wordpress搭建的博客&#xff0c;为了测试一下博客网站是否存在漏洞&#xff0c;网上搜索了一下主要采用WPScan工具。它是一个针对 WordPress 核心、插件和主题的漏洞扫描器&#xff0c;它可以帮助网站管理员检查其 WordPress 站点是否存在已知的安全问…

【Flutter】Flutter学习-GetX 导航操作

1.跳转 在原生中咱们一般运用的是push进行跳转的&#xff0c;这儿是没有界说途径直接经过上下文进行跳转 Navigator.of(context).push(MaterialPageRoute(builder: (BuildContext context) > DiscoverChildPage(title: widget.title,)));咱们运用Get.to进行跳转 Get.to( D…

Java+SpringBoot+Vue+MySQL构建银行客户管理新平台

✍✍计算机毕业编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java、…

Linux按键输入实验-创建按键的设备节点

一. 简介 Linux内核针对 GPIO驱动开发,提供了 pinctrl子系统与gpio子系统,方便了 GPIO驱动程序的开发。 本文开始学习如何利用 Linux内核的 pinctrl子系统,与 gpio子系统提供的 API函数,开发按键驱动。 这里主要学习在设备树文件中创建按键的设备节点。 二. Linux按键…

C# 学习第三弹——表达式

表达式操作数运算符 &#xff08;一&#xff09;算数运算符 错误例子&#xff1a;这不是python&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 正确结果&a…

css transform 会影响position 定位

比如通过以下代码.实现导航条上的每个li栏目,以不同的时间间隔,从上向下移动进来并显示 .my-navbar ul li {position: relative;opacity: 0;transform: translateY(-30px);transition: transform .6s cubic-bezier(.165,.84,.44,1),opacity .6s cubic-bezier(.165,.84,.44,1);…

【力扣 - 有效的括号】

题目描述 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同…

从 SOCKS5、代理IP 到 HTTP 的趣味解读

在数字化时代&#xff0c;网络安全已成为人们日常生活和工作中不可或缺的重要议题。然而&#xff0c;随着网络技术的发展&#xff0c;我们也发现了一些趣味横生的网络代理技术&#xff0c;比如 SOCKS5、代理IP 和 HTTP 代理。本文将以轻松愉快的方式&#xff0c;探讨这些技术在…

【数据结构】线性表 顺序表(动态、静态分配,插入删除查找基本操作)解析+完整代码

1.线性表的基本概念 定义 线性表&#xff08;Linear List&#xff09;是具有相同数据类型的n个数据元素的有限序列。 n为表长&#xff0c;n0时线性表是个空表 前驱、后继 前驱&#xff1a;其中一个数据元素的前一个元素。第一个元素没有前驱。后继&#xff1a;其中一个数据元素…

vue指令 (侦听器)

在Vue中&#xff0c;watch 选项允许我们观察和响应Vue实例上的数据变化。当被侦听的属性变化时&#xff0c;回调函数将被调用&#xff0c;执行相应的操作。 以下是一个简单的示例&#xff0c;演示了如何使用 watch 选项&#xff1a; new Vue({ el: #app, data: { message: Hel…

JavaSec 基础之 SQL 注入

文章目录 JDBC 注入语句拼接(Statement)修复方案 语句拼接(PrepareStatement)修复方案 预编译 JdbcTemplate修复方案 MyBatisLike 注入Order By 注入In 注入 寒假学了一个月 pwn&#xff0c;真心感觉这玩意太底层学的我生理不适应了&#xff0c;接下来学一段时间 java 安全缓一…

使用R语言进行多元线性回归分析-多重共线的诊断

一、数据集 序号X1x2x3x4Y序号X1x2x3X4Y12666078.57831224472.51229155274.31954182293.12356850104.3111047426115.92143184787.6111140233483.8155263395.971266912113.311655922109.2111368812109.410771176102.73       1、从中选取主要变量&#xff0c;建立与因变…

iOS 中的Skeleton UI

使用骨架屏&#xff08;skeleton screen&#xff09;是一种在应用加载过程中展示占位符内容的技术&#xff0c;可以提升用户体验。以下是使用骨架屏的一些优点&#xff1a; 1.提高用户体验&#xff1a;在应用加载数据时&#xff0c;骨架屏可以提供一个清晰的占位符&#xff0c;…

SQL注入漏洞解析--less-46

我们先看一下46关 他说让我们先输入一个数字作为sort,那我们就先输入数字看一下 当我们分别输入1&#xff0c;2&#xff0c;3可以看到按照字母顺序进行了排序&#xff0c;所以它便是一个使用了order by语句进行排序的查询的一种查询输出方式 当输入时出现报错提示&#xff0c;说…

AI一键生成3D模型!

一、Genie Genie 是 Luma AI 推出的一个文本到 3D 的生成模型&#xff0c;可以在 10 秒生成 4 款 3D 模型&#xff0c;自动精修后质感非常逼真&#xff0c;目前支持免费使用。 此次的 1.0 版本更新后将生成功能由 Discord 转到了单独的网页&#xff0c;使用起来更方便&#x…

无法访问云服务器上部署的Docker容器(二)

说明&#xff1a;记录一次使用公网IP 接口地址无法访问阿里云服务接口的问题&#xff1b; 描述 最近&#xff0c;我使用Docker部署了jeecg-boot项目&#xff0c;部署过程都没有问题&#xff0c;也没有错误信息。部署完成后&#xff0c;通过下面的地址访问后端Swagger接口文档…

vue中使用$emit传递参数

传递一个参数 1、子组件 this.$emit(getData,abcd)2、父组件 <child getData"getData"></child> getData(data){console.log(data) // abcd }传递多个参数 第一种方法 1、子组件 let obj {data1: abcd,data2: abcdefg } this.$emit(getData,obj)2、…

CleanMyMac4苹果Mac电脑全面、高效的系统清理工具

CleanMyMac 4 for Mac是一款专为Mac用户设计的系统清理和优化工具。它具备多种功能&#xff0c;旨在帮助用户轻松管理和释放Mac上的磁盘空间&#xff0c;同时提升系统性能。 系统垃圾清理&#xff1a;CleanMyMac 4能够深入扫描Mac的每一个角落&#xff0c;智能识别并清除不需要…

LDR6020双盲插音频随便插充电听歌随便插

随着智能手机的普及和功能的日益丰富&#xff0c;手机已经成为我们日常生活中不可或缺的一部分。音乐、电影、游戏等娱乐内容更是丰富了手机的使用体验。而在这其中&#xff0c;音频转接器的作用愈发凸显&#xff0c;特别是在边听边充的场景下&#xff0c;一款高效且便捷的手机…