我目前正在Java应用程序,它与订单的工作。在一些@RestController
方法中,我返回一个Order
类的示例,它包含一个timezone
字段。
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Order {
private ZoneOffset timezone;
}
字符串
当我用spring-boot工具生成swagger时,它会为响应创建一个JSON,看起来像这样
{
"timezone": {
"totalSeconds": 0,
"id": "string",
"rules": {
"fixedOffset": true,
"transitions": [
{
"offsetBefore": {
"totalSeconds": 0,
"id": "string"
},
"offsetAfter": {
"totalSeconds": 0,
"id": "string"
},
"duration": {
"seconds": 0,
"nano": 0,
"negative": true,
"zero": true,
"units": [
{
"dateBased": true,
"timeBased": true,
"durationEstimated": true
}
]
},
"gap": true,
"dateTimeBefore": "2023-02-27T18:33:30.403Z",
"dateTimeAfter": "2023-02-27T18:33:30.403Z",
"instant": "2023-02-27T18:33:30.403Z",
"overlap": true
}
],
"transitionRules": [
{
"month": "JANUARY",
"timeDefinition": "UTC",
"standardOffset": {
"totalSeconds": 0,
"id": "string"
},
"offsetBefore": {
"totalSeconds": 0,
"id": "string"
},
"offsetAfter": {
"totalSeconds": 0,
"id": "string"
},
"dayOfWeek": "MONDAY",
"dayOfMonthIndicator": 0,
"localTime": {
"hour": 0,
"minute": 0,
"second": 0,
"nano": 0
},
"midnightEndOfDay": true
}
]
}
}
}
型
这不是人类可读的。
我希望swagger生成默认值,比如+01:00
(就像我向API发送请求时,它会返回响应一样)。
我尝试使用注解,如
@ApiModelProperty(example = "+01:00")
型
或者是
@ApiParam(defaultValue="+01:00")
型
,但对我来说什么都不起作用。
我知道spring-boot工具可以为ZonedDateTime
生成一个人类可读的json(如下所示
"time": "2023-02-27T18:33:30.403Z"
型
)。所以我希望有办法为ZoneOffset
做同样的事情。
我不能替换它在不同的计算中使用,并将其转换为字符串和背部似乎有点问题。
1条答案
按热度按时间zd287kbt1#
我在
io.swagger.v3.oas.annotations.media.Schema
中找到了解决方案字符串
产生的结果和我预期的一样