首页 > 其他分享 >Spring反序列化失败 Type definition error: [simple type, class xxx.xxx.xxx]

Spring反序列化失败 Type definition error: [simple type, class xxx.xxx.xxx]

时间:2024-03-07 12:12:40浏览次数:26  
标签:definition xxx CommonResult Object private 序列化 class

也许更好的阅读体验

Type definition error: [simple type, class com.elm.po.CommonResult]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of com.elm.po.CommonResult (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)

网上搜索得知是反序列化失败了,看到这俩解决办法

  • 需要转换的entity没有getter/setter(本次受此影响,这个不能漏,如果懒得写可以考虑lombok)
  • 没有实现Serializable(本次并不直接对其序列化传输,不涉及)

代码如下

@Data
@AllArgsConstructor
public class CommonResult implements Serializable {
    private Integer code;
    private String message;
    private Object result;
    public static CommonResult success (Object object) {
        return new CommonResult(200, "success", object);
    }
}

可知,实现了Serializable,并且也用了lombok的@Data注解,以上两种方法不能解决问题
问题所在:没有无参构造方法
解决方法:加上@NoArgsConstructor
解决代码

@Data
@NoArgsConstructor
@AllArgsConstructor
public class CommonResult implements Serializable {
    private Integer code;
    private String message;
    private Object result;
    public static CommonResult success (Object object) {
        return new CommonResult(200, "success", object);
    }
}

标签:definition,xxx,CommonResult,Object,private,序列化,class
From: https://www.cnblogs.com/Morning-Glory/p/18058584

相关文章

  • PHP反序列化漏洞
    0x00何为类和对象说到序列化和反序列化就不得不提到两个词:类和对象那么什么是类,什么是对象教科书式的答案是类是对象的抽象,对象是类的实例那啥叫个抽象,啥叫个实例呢简单的说,类就是对象的一个标准模板,而对象就是按照模板做出来的实物举个栗子人,是一个类所有的人都有一个......
  • 记一次openfeign反序列化异常复盘
    前言之前业务部门有2个通用响应类,一个是负责和前端交互的响应类AjaxResult,一个是负责和后端RPC接口交互的响应类RpcResult。一开始这两个响应类的值字段都一样,形如下 privateBooleansuccess; privateStringmessage; privateIntegercode; privateTdata;因为前端和......
  • Git无法正常工作,因为检测到XXX存储库可能不安全(unsafe repository)的解决方法
    背景前两天因为对硬盘进行了误操作,导致系统无法进入,只能重新安装。待系统安装完毕后第一时间将VS下了回来。在VS开发环境部署完毕后,我打开了自己的解决方案,结果在“Git更改”选项卡内遇到了如下图的提示(分别是VS2022和VS2019): 过程在点击“将其标记为安全”后该存储库可以正......
  • css Module里less里嵌套css,使用的时候,style.xxx不用嵌套吗?
    在CSSModules中,使用Less编译器编译并转换成模块化CSS后,你不需要在JavaScript中通过style.xxx的方式进行嵌套引用。当你在Less文件中使用嵌套语法编写样式时,编译过程会自动将这些嵌套转换为扁平化的类名,并且生成一个映射对象。例如,在Less文件(假设为styles.module.less)中:.contain......
  • What does -> mean in Python function definitions?
    Whatdoes->meaninPythonfunctiondefinitions?InPython,the"->"symbolisusedtoindicatethereturntypeofafunction.ItispartofthefunctiondefinitioninaPython3.5orlater.Forexample,thefollowingcodedefinesafunct......
  • C#序列化和反序列化
    在C#编程中,序列化和反序列化是两个核心概念,它们分别代表着将对象状态转换为可以存储或传输的形式(通常是字节流),以及将这种形式的数据恢复为原始对象状态的过程。简单来说,序列化就是将对象转换为流(如文件、网络流等),而反序列化则是将这些流转换回原始对象。为什么要序列化和反序列化......
  • GNS3打开工程报错 --Dynamips error xxx:unable to create UDP NIO 解决方法
    GNS3打开工程报错--Dynamipserrorwhenrunningcommandxxx:unabletocreateUDPNIO报错原因:GNS3(v2.2)serverUDP连接端口号使用了10000-20000,NvidiaGeForceExperience也使用了相同的UDP端口号,发生冲突。解决方法:方法一:卸载NvidiaGeForceExperience,此过程不会......
  • Root Definition
    Rootiskeyatequation.在英文中,数学上的“根”通常被称为"root"。当我们谈论方程式的解时,我们通常使用术语"rootofanequation"。例如,如果有一个方程x^2=9,那么这个方程的两个根是+3和-3,因为当x等于+3或-3时,方程成立。在数学上,根通常指的是一个方程的解。想......
  • 8-5. 序列化保存数据文件
    安装newtonsoftjsonnewtonsoftjson是一个比JsonUtility更好的JSON工具,但是UnityRegistry没办法直接下载,需要点击PackageManager左上角的+号,点击AddpackagefromgitURL,输入com.unity.nuget.newtonsoft-json,进行安装使用newtonsoftjson序列化和反序列化使......
  • Error creating bean with name 'XXX': Bean with name 'senseOneToSomeFeignImpl' ha
    关于Spring框架中的循环依赖问题,您可以尝试以下几种方法来解决:重新定义Bean依赖:重构代码以消除循环依赖。这可能涉及重新设计类,使它们不相互依赖即可运行。使用Setter注入:与构造函数注入相比,使用setter注入。Spring可以更好地处理setter注入的循环依赖,因为对象引用是在对象构造......