spring boot open api请求localtime

oymdgrw7  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(360)

我使用SpringBoot2.4.5,SpringDocOpenAPI用户界面1.5.7,
我的实体有字段:

private LocalDate beginDate;
private LocalTime beginTime;

请求正文
此选项不起作用

{
"beginDate": "2021-04-25",
  "beginTime": {
    "hour": 0,
    "minute": 0,
    "second": 0,
    "nano": 0
}

这个工人呢

{
"beginDate": "2021-04-25",
"beginTime": "00:00:00"
}

我尝试了各种字段注解和添加依赖项,但出现了400或500个错误。
我看到两种可能的解决方案:
在swagger“00:00:00”中配置模式显示
正确地处理带有绘制组件的json
提前感谢您的帮助!

a11xaf1n

a11xaf1n1#

这是因为您需要定义一个反序列化程序,以便在传递4个字段(小时/分钟/秒/纳米)而不仅仅是一个字符串字段时可以正确处理您的请求。

@JsonDeserialize(using = LocalTimeDeserializer.class)
private LocalTime beginTime;

在编写反序列化类时,还可以考虑在objectmapper上使用此功能。

ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JavaTimeModule());

相关问题