繁体   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