5

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 は文字列パターンで表すことさえできません。

b) Dropwizard でデフォルトでサポートされているように見える Joda-Time を使用したほうがよいでしょうか?

c) 値に基づいて Java フィールドを JSON にシリアライズすることをスキップする方法はありますか (ブール値は false)? @JsonFilter と SimpleBeanPropertyFilter を試しましたが、機能しませんでした。また、廃止されたようです。また、 @JsonProperty(defaultValue...) も機能していないようです。

4

0 に答える 0