LoginSignup
1
1

More than 5 years have passed since last update.

DropwizardでDate型をJSON出力するときの日付書式(DateFormat)を指定

Posted at

公式ドキュメントのどこに何が書いてあるのかが非常にわかりにくいDropwizardですが、java.util.Date型をJSONに吐き出すと、デフォルトではUnixTimeとして出力されます。

内部的にJacksonを利用しているので、どこかで日付書式が設定できるんだろうなと思ってConfigurationをよく読んだのですが、それらしき項目はなさそうな感じでした。(v0.8.0時点)

ただ、BootstrapクラスからJacksonのObjectMapperが拾えるので、Applicationクラスのinitialize()メソッドで日付書式を突っ込んであげることで、一応期待する動作になるっぽいです。

Application.java

    @Override
    public void initialize(Bootstrap<BlogSampleConfiguration> bootstrap) {
        // use Hibenate 
        bootstrap.addBundle(hibernateBundle);
        // Date型の書式をISO8601に設定
        bootstrap.getObjectMapper().setDateFormat(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX"));
    }

お作法として正しいのかはいまいち微妙ですが。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1