Java 如何在SpringBoot的RestController中从REST请求中获取日历字段?

Java 如何在SpringBoot的RestController中从REST请求中获取日历字段?,java,spring-boot,jackson,Java,Spring Boot,Jackson,我在@RestController中通过Json获取POST请求中的日期,如下所示: {“日期”:“2016-01-28”} 如何获取类型为java.util.Calendar的对象? 通常我使用java.util.Date,但几乎所有方法都不推荐使用。 可以使用什么注释来获取日历? 我试着用 public class Test { @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd") Calen

我在
@RestController
中通过Json获取POST请求中的日期,如下所示:
{“日期”:“2016-01-28”}
如何获取类型为
java.util.Calendar
的对象? 通常我使用
java.util.Date
,但几乎所有方法都不推荐使用。 可以使用什么注释来获取日历? 我试着用

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
而不是
日历
。至少在您的存储库对象中。如果您需要日历的附加功能,可以创建一个实例,如
@Hamza
所示

Calendar
是一门相当重的课程。考虑到存储的数据量很小,无需创建新的it实例

您可以从对其进行操作的另一个类中选择日期,以根据需要提供附加功能

{
"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();


   }

要使用的新格式是LocalDate->看看这里您已经尝试了什么?请包含您的代码以向我们显示您已经尝试了什么。