3

SpringFox (Swagger)を使用して REST API を文書化しています。Swagger の優れた機能の 1 つは、サンプル モデルとデータ型の形式を表示することです。

ここで、ミリ秒単位で日付を生成および消費するように API を構成しましたが、サンプルの JSON モデルを見ると、日付形式は次のようになります"2015-09-21T00:51:32.617Z"。以下のスクリーンショットを参照してください。SpringFox (Swagger) に日付を適切にフォーマットする方法を教えることは可能ですか?

ここに画像の説明を入力

4

3 に答える 3

3

これは、基礎となる Jackson シリアライザーに関連しています。正しい日付形式を設定する必要があります。そうしないと、デフォルトでタイムスタンプが使用されます。

構成例を次に示します。

@Configuration
public class WebConfiguration extends WebMvcConfigurerAdapter {

    @Override
    public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
        for (HttpMessageConverter<?> converter : converters) {
            if (converter instanceof MappingJackson2HttpMessageConverter) {
                MappingJackson2HttpMessageConverter jsonMessageConverter = (MappingJackson2HttpMessageConverter) converter;
                ObjectMapper objectMapper = jsonMessageConverter.getObjectMapper();
                objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
                break;
            }
        }
    }
}

このようにして、ISO-8601 日時形式が使用されます。独自の優先日付形式を設定する方法を説明する別のブログ投稿を次に示します: http://yysource.com/2016/06/change-default-date-for-jackson-in-spring-boot-application/

于 2016-07-11T11:52:43.517 に答える