在swagger-ui中更改java.sql.Time的模型模式

时间:2015-10-21 16:06:00

标签: java swagger-ui swagger-2.0 springfox

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

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

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

日期:enter image description here

时间:enter image description here

我想修改它以显示:

  • “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;
}

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

2 个答案:

答案 0 :(得分:2)

我们遇到了类似的问题。我们需要将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

答案 1 :(得分:0)

我希望这仍然有用。

我正在使用swagger jersey 2.

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

@ApiModelProperty(name = "index-url")

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

此致