[英]How to use java.time.Instant with Swagger 2.x?
我的 java webapp 中有一個 REST 端點,它接受 Instant 作為查詢參數,如下面的代碼所示
@GET
@Produces(MediaType.APPLICATION_JSON)
Response getHistory(
@QueryParam("beforeTime")
Instant beforeTime,
@QueryParam("afterTime")
Instant afterTime) {
...
}
這在 swagger 1.x 下運行良好,但是當我們切換到 swagger 2.x 時, Instant
的對象顯示為$int64
而不是日期時間字段。 我可以用 swagger 注釋做什么來讓它工作?
我能夠使用 @ApiParam 注釋來解決這個問題。 將類型設置為date-time
並將格式設置為java.time.Instant
解決了該問題。
@GET
@Produces(MediaType.APPLICATION_JSON)
Response getHistory(
@QueryParam("beforeTime")
@ApiParam(type="date-time", format = "java.time.Instant")
Instant beforeTime,
@QueryParam("afterTime")
@ApiParam(type="date-time", format = "java.time.Instant")
Instant afterTime) {
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.