Jackson で、JSR-310 対応の LocalTime をデシリアライズする設定で
なぜか、次の方法で JavaTimeModule を設定しようすると、
メソッド addDeSerializer(Class
とコンパイルエラーになる。
JavaTimeModule jtm = new JavaTimeModule(); jtm.addDeSerializer(LocalTime.class, LocalTimeDeserializer.INSTANCE) ObjectMapper mapper = new ObjectMapper().registerModule(jtm);
LocalTimeDeserializer.INSTANCE を指定するのだから、デフォルトのフォーマット ISO_LOCAL_TIME を適用するはずなのだが。。
以下に書き直せば、コンパイルエラーにならない。
JavaTimeModule jtm = new JavaTimeModule(); jtm.addDeserializer(LocalTime.class, new LocalTimeDeserializer(DateTimeFormatter.ISO_LOCAL_TIME)) ObjectMapper mapper = new ObjectMapper().registerModule(jtm);