【问题标题】:Change model schema for java.sql.Time in swagger-ui在 swagger-ui 中更改 java.sql.Time 的模型模式
【发布时间】:2015-10-21 16:06:00
【问题描述】:

在我的 spring-boot 应用程序中,我使用 swagger2 来记录 Web 服务。

我使用了一些具有 java.sql.Time 和 java.util.Date 属性的类。

在 swagger-ui 中,它们看起来像这样:

日期:

时间:

我想修改它以显示:

  • “change_date”:“YYYY-MM-DD”

  • “change_time”:“mm:ss”

这是我的课:

@lombok.Data
@JsonRootName("translation_value")
@ApiModel(value="TranslationValue", description="Traduction de valeur")
public class TranslationValue implements Serializable {

@JsonProperty("translation_id") private Integer translationId;
@JsonProperty("family") private String family;
@JsonProperty("language_code") private String languageCode;
@JsonProperty("value") private String value;
@JsonProperty("translation_language_code") private String translationLanguageCode;
@JsonProperty("translation_value") private String translationValue;
@JsonProperty("delivered") private String delivered;
@JsonProperty("creation_date") private Date creationDate;
@JsonProperty("creation_time") private Time creationTime;
@JsonProperty("creation_user") private String creationUser;
@JsonProperty("change_date") private Date changeDate;
@JsonProperty("change_time") private Time changeTime;
@JsonProperty("change_user") private String changeUser;
@JsonProperty("status") private String status;
@JsonProperty("orignal_translation_id") private Integer orignalTranslationId;
}

我该怎么做?我没有找到任何注释来设置格式。

【问题讨论】:

    标签: java swagger-ui swagger-2.0 springfox


    【解决方案1】:

    我们遇到了类似的问题。我们需要将 springfox 版本升级到 2.3.0 ,之前我们使用的是 springfox 2.2.2 版本。在那个旧版本中,swagger 的 @ApiModelPreporty 有一个名为“example”的属性,它没有做任何事情。从 2.3.0 版本开始,这个“示例”开始工作。所以我们将 springfox 版本升级到 2.3.0 之后,我们所要做的就是如下所示。

    @ApiModelProperty(required = true,example = "2016-01-01")
    @JsonFormat(pattern = DATE_FORMAT)
    private LocalDate date; 
    

    以下是我们找到此信息的链接:

    https://github.com/springfox/springfox/issues/998

    【讨论】:

    • 感谢您的回答。这正是我需要的。我将我的 swagger 更新到最新版本 (2.3.1) 并且可以正常工作。
    【解决方案2】:

    我希望这仍然会有所帮助。

    我正在使用 swagger jersey 2。

    我认为 Swagger 目前没有使用 JsonProperty 注释。您仍然可以使用 Swagger Annotation 指明您需要的属性名称:

    @ApiModelProperty(name = "index-url")

    这是双重工作,但它是我能找到的唯一解决方案。

    问候

    【讨论】:

    • 我正在使用 Springfox swagger 2,它使用 JsonProperty 注释。我的问题是 Springfox 目前似乎不支持的日期和时间。
    【解决方案3】:
    @ApiModelProperty(value = "description", name = "notificationExpiryDate",
                dataType = "String", example = "2022-01-16T08:42:37.484Z")
    private Timestamp expiryDate;
    

    将 dataType 指定为 String 让我得到了示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-18
      • 1970-01-01
      • 1970-01-01
      • 2014-11-05
      • 1970-01-01
      • 1970-01-01
      • 2021-02-15
      相关资源
      最近更新 更多