我正在尝试将json数据发布到Java中的Controller。

这是我的 Controller :

@ResponseBody
    @RequestMapping(value="/{schoolId}", method=RequestMethod.POST)
    public ClassGroupDTO addClassGroup(@RequestBody ClassGroupDTO classgroup, @PathVariable Integer schoolId) {
        return partyService.addClassGroup(classgroup, schoolId);
    }

这就是ClassGroupDTO
    public class ClassGroupDTO extends PartyDTO {
    private PartyDTO titular;
    private SiteDTO site;
    @JsonDeserialize(using = LocalDateDeserializer.class)
    private LocalDate startDate;
    @JsonDeserialize(using = LocalDateDeserializer.class)
    private LocalDate endDate;
...
}

我正在使用Jackson 2.4.3。

给定字段startDate或endDate时,我无法发布数据。
我尝试了几种格式来发布。 (我正在使用moment.js)
data.startDate = moment().toDate();
data.startDate = moment().toJSON();
data.startDate = moment().format("YYYY/MM/DD");

每次我收到错误请求错误。
当我省略startDate或endDate时,将发布数据并触发 Controller 。

如何反序列化Javascript日期到java.time.LocalDate?

最佳答案

我有同样的问题,使用以下方法解决了:

var dateString = new Date().toISOString().substring(0,10);

或者
var dateString = new Date().toISOString().split("T")[0];

转换为ISO字符串(“2015-10-14T09:39:49.942Z”),然后仅保留前十个字符,即日期。

关于javascript日期到java.time.LocalDate,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26233882/

10-12 23:49