如何在 Swagger 中将 Java8 LocalTime 显示为字符串?
How to show Java8 LocalTime as a string in Swagger?
我有 swagger 2.8.0 我的 POJO class 如下,
public class Item {
@JsonFormat(pattern="yyyy-MM-dd")
private LocalDate date;
@JsonFormat(pattern="HH:mm")
private LocalTime time;
// other fields and Getters and Setters are omitted for brevity
}
现在swagger-ui,在example value部分,我的POJO模型显示为
{
"date": "string",
"time": {
"hour": 0,
"minute": 0,
"nano": 0,
"second": 0
}
}
如何在 swagger 中将 LocalTime 显示为字符串-ui?
在 swagger 配置中试试这个
directModelSubstitute 将解决此问题
@Bean
public Docket postsApi() {
return new Docket(DocumentationType.SWAGGER_2)//.groupName("public-api")
.groupName("")
.directModelSubstitute(LocalDateTime.class, String.class)
.directModelSubstitute(LocalDate.class, String.class)
.directModelSubstitute(LocalTime.class, String.class)
.directModelSubstitute(ZonedDateTime.class, String.class)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
.paths(PathSelectors.any())
.paths(postPaths()).build().useDefaultResponseMessages(false)
.globalResponseMessage(RequestMethod.GET, getCustomizedResponseMessages());
}
我有 swagger 2.8.0 我的 POJO class 如下,
public class Item {
@JsonFormat(pattern="yyyy-MM-dd")
private LocalDate date;
@JsonFormat(pattern="HH:mm")
private LocalTime time;
// other fields and Getters and Setters are omitted for brevity
}
现在swagger-ui,在example value部分,我的POJO模型显示为
{
"date": "string",
"time": {
"hour": 0,
"minute": 0,
"nano": 0,
"second": 0
}
}
如何在 swagger 中将 LocalTime 显示为字符串-ui?
在 swagger 配置中试试这个
directModelSubstitute 将解决此问题
@Bean
public Docket postsApi() {
return new Docket(DocumentationType.SWAGGER_2)//.groupName("public-api")
.groupName("")
.directModelSubstitute(LocalDateTime.class, String.class)
.directModelSubstitute(LocalDate.class, String.class)
.directModelSubstitute(LocalTime.class, String.class)
.directModelSubstitute(ZonedDateTime.class, String.class)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
.paths(PathSelectors.any())
.paths(postPaths()).build().useDefaultResponseMessages(false)
.globalResponseMessage(RequestMethod.GET, getCustomizedResponseMessages());
}