Swagger 2.0 类型字符串格式:date-time 在 spring boot 中不输出 yyyy-MM-dd'T'HH:mm:ssZ

Swagger 2.0 type string formate: date-time does not output yyyy-MM-dd'T'HH:mm:ssZ in spring boot

提问人:moredrowsy 提问时间:9/15/2023 更新时间:9/16/2023 访问量:32

问:

我有一个 Spring Boot 2.7 项目,它使用为我生成模型的 2.4.1 版本。swagger-codegen-maven-plugin

我需要日期格式遵循格式,即 。ISO-8601yyyy-MM-dd'T'HH:mm:ssZ2019-05-31T23:59:59Z

但我得到的格式是.2019-05-31T23:59:59+00:00

我有以下 swagger 2.0 的 yaml 规范。

definitions:
  CommandResponse:
    properties:
      requestTime:
        type: string
        format: date-time

我阅读的 swagger 文档是应该给出带有后缀的 ISO 格式。但是,我没有得到 but 评分者format: date-timeZuluZ+00:00

我是否缺少一些配置?我需要做些什么才能获得带有 Zulu 后缀的日期格式?

spring-boot datetime swagger-2.0 swagger-codegen ISO8601

评论


答:

0赞 moredrowsy 9/16/2023 #1

我读到这是默认设置,但调出我的 Spring Boot 2.7 项目需要显式配置。spring.jackson.date-format: yyyy-MM-dd'T'HH:mm:ss'Z'

另请记住,在测试中,如果不启动完整的应用程序上下文,则需要将 MappingJackson2HttpMessageConverter 提供给 MockMvc。