Сериализация Java-8 LocalDateTime с помощью DateTimeFormatter
Я использую Dropwizard 0.8.4 и jackson-datatype-jsr310.
a) Хотелось бы сериализовать вывод LocalDateTime в JSON как DateTimeFormatter.ISO_INSTANT, но не смог найти какой-либо чистый способ сделать это (без реализации пользовательских классов сериализации), не должно ли это быть очень стандартной вещью, которую можно сделать с простыми аннотациями?
В настоящее время мой код работает с:
@JsonProperty
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd'T'HH:mm:ss'Z'")
@JsonSerialize(using = LocalDateTimeSerializer.class)
public LocalDateTime getTime() {
...
}
но этот шаблон на самом деле не совпадает с ISO_INSTANT, и, как я его немного отлаживал, ISO_INSTANT даже не может быть представлен String-шаблоном.
б) Мне лучше использовать Joda-Time, который, по-видимому, поддерживается Dropwizard по умолчанию?
c) Есть ли способ пропустить сериализацию Java-поля в JSON на основе значения (логическое значение false)? Я попробовал @JsonFilter и SimpleBeanPropertyFilter, но не смог заставить его работать, и, похоже, это также устарело. Также @JsonProperty(defaultValue...), похоже, тоже не работает.