我正在使用Spring,springfox,Jackson开发REST API,我的模型类包含ZoneId
作为属性:
@JsonProperty
private ZoneId timeZone;
我在我的依赖项中包含了 jackson-datatype-jsr310 版本 2.9.0.pr4 ,所以它正在按预期进行序列化和反序列化。但是我的swagger-ui现在显示了许多模型对象,例如ZoneId
,ZoneOffset
,ZoneOffsetTransition
等,因为区域ID被序列化为简单字符串,所以这非常令人困惑。生成的API规范中的相同情况。 如何防止招摇暴露这些(未使用的)模型对象?
答案 0 :(得分:3)
您可以尝试@ApiModelProperty
将dataType
设置为string
:
@JsonProperty
@ApiModelProperty(dataType = "string")
private ZoneId timeZone;
如果dataType
被忽略,您可以使用Docket
:
@Bean
public Docket configureDocket() {
return new Docket(DocumentationType.SWAGGER_2)
.directModelSubstitute(ZoneId .class, String.class);
}