私の DTO には、文字列形式の日付フィールドがあります。私のエンティティは LocalDate として日付を持っています。現在、マップからスキップし、後で手動で明示的に設定しています(文字列から日付へ、またはその逆)。
自動的に変換することはできますか?Spring Bean 内で Converter を試しましたが、多くのコンパイル エラーが発生します (型 Converter はパラメーターをとらず、convert メソッドをオーバーライドしません。また、convert() にも多くのエラーが発生します)。
@Bean
public ModelMapper studentModelMapper() {
....
Converter<String, LocalDate> toStringDate = new AbstractConverter<String, LocalDate>() {
protected String convert(String source) {
return source == null ? null : new LocalDate(source);
}
};
....
}
私はモデルマッパーにあまり詳しくありません。どんな助けでも大歓迎です。
提案されているように、DTO の LocalDate を試してみましたが、問題は、このエンティティを前に送信すると (REST 呼び出し)、次の JSON を取得することです。
"dateOfBirth": {
"year": 1972,
"month": "JANUARY",
"monthValue": 1,
"dayOfMonth": 4,
"dayOfWeek": "TUESDAY",
"era": "CE",
"dayOfYear": 4,
"leapYear": true,
"chronology": {
"id": "ISO",
"calendarType": "iso8601"
}
}
私のフロントエンド開発者は「YYYY-MM-DD」が必要です。