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->看看这里您已经尝试了什么?请包含您的代码以向我们显示您已经尝试了什么。