【发布时间】:2023-04-10 00:37:01
【问题描述】:
我在使用 spring mongoTemplate 从/向 mongoDB 访问和写入数据时遇到问题。
对于初学者,我有一个数据模型,它代表我试图从 mongo 检索的对象。我用@JsonSerialize 和@JsonDeserialize 注释了它以指定自定义转换器。
但是,当我调用 mongoTemplate.findById() 并尝试获取此对象时,我发现我的自定义反序列化器根本没有被调用并且我得到 HttpMessageNotWriteableException。
是否必须进行任何其他配置才能让 mongo 知道它需要使用我的自定义 Jackson 反序列化器?
【问题讨论】:
-
您能否提供更多信息,例如您正在使用的依赖项以及您为 json 序列化/反序列化所做的任何配置?
-
@ritesh.garg 我所做的只是用@JsonSerializer 和@JsonDeserializer 注释我的数据模型。我还没有完成任何与 mongo 相关的配置。但是通过查看文档,我认为没有办法用 Jackson Serializers/Deserializers 替换 MongoConverters。我们可以让 Jackson 代替 spring/mongo 组合进行转换吗?
标签: spring mongodb serialization deserialization