猿问

发送用户定义的类会导致 InvalidDefinitionException:

我有一张地图Map<String, Object> map = new HashMap<>(); 我在这张地图中存储了多种类型的数据。1.) 原始类型 2.) 作为此映射中的值的用户定义类的对象。当我将任何原始类型值转换为 Object 并存储在 Map 中时,它工作正常,但在用户定义的情况下则不然。在此地图中存储用户定义的类型数据时,出现以下错误:-

**ERROR [WebExceptionHandler] Error occurred while serving request. Response is as [Response(


description=Type definition error: [simple type, class com.yyz.util.Abc];

nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException:

  No serializer found for class com.yyz.util.Abc 

  and no properties discovered to create BeanSerializer

  (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS)


谁能解释为什么我收到此错误以及解决方案是什么?



开满天机
浏览 324回答 2
2回答

慕桂英546537

使您的字段/吸气剂 - 公开异常表示您的Abc类是一个空 bean 并且SerializationFeature.FAIL_ON_EMPTY_BEANS已启用(默认情况下)。例如,此类将是 jackson 序列化程序的空 bean:&nbsp; &nbsp; public class Abc {&nbsp; &nbsp; &nbsp; boolean boo;&nbsp; &nbsp; }如果您至少有一个public字段或公共 getter,则可以避免异常:&nbsp; &nbsp; public class Abc {&nbsp; &nbsp; &nbsp; public boolean boo;&nbsp; &nbsp; }

MM们

由于您没有附加com.yyz.util.Abc课程,因此无法说出确切原因,但请确保所有 getter 和 setter 都存在。
随时随地看视频慕课网APP

相关分类

Java
我要回答