[java] スプリングブートを使用したjson出力の日付形式


Answers

ほとんどの場合、「yyyy-MM-dd」という小さな後者の「m」は分セクションを意味します。

あなたは2つのことをする必要があります

  • spring.jackson.serialization.write-dates-as-timestamps:falseapplication.properties追加すると、日付のタイムスタンプへの変換が無効になり、代わりにISO-8601準拠の形式を使用します

  • @JsonFormat(pattern="yyyy-MM-dd")を使用して、 dateOfBirthプロパティのgetterメソッドに注釈を付けることによって、フォーマットをカスタマイズすることはできます

Question

私は休憩アプリケーションを作成するためのスプリングブートに取り組んでいます。 私は以下のようなDTOを持っています:

public class Subject {

private String uid;
private String number;
private String initials;
private Date dateOfBirth;

私はSpring-Hateosを使い、私のコントローラーのreurnのタイプはResponseEntity >>です。 私は日付を "yyyy-mm-dd"形式で表示する必要があります。 そして私はこれに打たれました。 親切に私はこれを達成する方法を手伝ってください。 前もって感謝します。




すべての日付の書式を変更する場合は、Builderカスタマイザを追加できます。 日付をISO 8601に変換するBeanの例を次に示します。

@Bean
public Jackson2ObjectMapperBuilderCustomizer jsonCustomizer() {
    return new Jackson2ObjectMapperBuilderCustomizer() {
        @Override
        public void customize(Jackson2ObjectMapperBuilder builder) {
            builder.dateFormat(new ISO8601DateFormat());        
        }           
    };
}



Related