RabbitMq Jackson Spring-输入字段OffsetDateTime是输出上的字符串

问题描述

带有Java 11的rabbitMQ。杰克逊到Json解析器。

@Bean
    public Jackson2JsonMessageConverter jackson2MessageConverter() {
        ObjectMapper mapper = new ObjectMapper().findAndRegisterModules();
        return new Jackson2JsonMessageConverter(mapper);
    }

使用此配置-我在退出时输入Double。

还有这个

@Bean
    public Jackson2JsonMessageConverter jackson2MessageConverter() {
        return new Jackson2JsonMessageConverter();
    }

我在退出时得到了字符串。

我的DTO班级有字段

@JsonFormat(pattern = LETTER_TIME_FORMAT)
@JsonDeserialize(using = OffsetDateTimeDeserializer.class)
@JsonSerialize(using = OffsetDateTimeSerializer.class)
private OffsetDateTime eventStart;

和My OffsetDateTimeDeserializer类。因为我没有找到认实现。

public class OffsetDateTimeDeserializer extends JsonDeserializer<OffsetDateTime> {

    private DateTimeFormatter formatter = DateTimeFormatter.ofPattern(LETTER_TIME_FORMAT);

    @Override
    public OffsetDateTime deserialize(JsonParser jsonParser,DeserializationContext deserializationContext) throws IOException,JsonProcessingException {
        return OffsetDateTime.parse(jsonParser.getText(),formatter);
    }
}

我希望我的RabbitMqMessageListener方法获取具有相同反序列化OffsetDateTime的DTO类。 但是实际上我使用String格式。 如何在输出获取输入的OffsetDateTime ???

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)