簡體   English   中英

如何從SpringBoot的RestController中的REST請求中獲取Calendar字段?

[英]How to get Calendar field from REST request in RestController in SpringBoot?

我在Json的@RestController中的POST請求中獲取日期,如下所示: { "date":"2016-01-28" }如何獲取類型為java.util.Calendar對象? 通常我使用java.util.Date ,但是幾乎所有方法都已棄用。 可以使用什么Jackson注釋來獲取Calendar 我嘗試使用

public class Test {
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    Calendar date;
}

但得到null

您可以使用注釋@DateTimeFormat 根據Spring 文檔,它適用於java.util.Calendar

@PostMapping("/somemapping")
public void date(@RequestParam("date") @DateTimeFormat(pattern = "yyyy-MM-dd") Calendar date) {
   //some other processing code
}

我建議使用java.util.Date代替Calendar 至少在您的存儲庫對象中。 如果您需要日歷的其他功能,則可以創建一個實例,如@Hamza

Calendar是一門非常重量級的課程。 考慮到要存儲的數據量很少,因此無需創建新實例。

您可以從對其進行操作的另一個類中選擇日期,以根據需要為您提供其他功能。

{
"calendar": 1558347802873  
}

樣本JSON請求

只是以數字格式傳遞日期,在對象下面使用

import java.util.Calendar;

public class TestCal {

private Calendar calendar;

public Calendar getCalendar() {
    return calendar;
}

public void setCalendar(Calendar calendar) {
    this.calendar = calendar;
}
}

樣品彈簧控制器

    @PostMapping("/testCal")
    public void testCal(@RequestBody TestCal test) {

    // do your stuff
    test.getCalendar();


   }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM