私は@RestController
Servlet
を経由して、次のMap
を露出している:Springでjava.sql.Timestampのグローバルフォーマッタを登録するには?
List<Map<String, Object>> results = jdbcTemplate.queryForList(..);
マップは、その後java.sql.Timestamp
オブジェクトが含まれています。
質問:Timestamp
のjaxb/jackson
を使用してSpring
の出力形式を設定するにはどうすればよいですか?私はそれをグローバルに設定したい。私は値を手動で検出して再フォーマットするために地図を見たくない。
以下は動作しませんでした:
@Configuration
public class DateConfig extends WebMvcConfigurerAdapter {
@Override
public void addFormatters(FormatterRegistry registry) {
super.addFormatters(registry);
registry.addFormatterForFieldType(java.sql.Timestamp.class, new Formatter<Timestamp>() {
@Override
public String print(Timestamp object, Locale locale) {
return "my custom format";
}
});
}
}
フォーマッタが登録されますが、呼び出されることはありませんJSONにシリアライズ中に!
現在の結果は常に2017-07-10T11:06:02.000+0000
です。しかし、どこでも2017-07-10 11:06:02
を取得したいと思います。
私はあなたが私が '春-boot'を使用している、と私は正常に登録されているフォーマッタを見ることができますクラスレベル – Zeromus
に@EnableWebMvcが必要だと思います。したがって、設定Beanは一般的に動作します。シリアライズされたタイムスタンプ値には影響しません。 – membersound