【发布时间】:2019-02-20 23:43:32
【问题描述】:
我希望能在调试这个问题时得到一些帮助。 如果我将以下 JSON 发送到我的后端,它可以正常工作:
{
"approvalRequired": false,
"location": {
"locationName": "<+37.33233141,-122.03121860> +\/- 5.00m (speed 0.00 mps \/ course -1.00) @ 9\/16\/18, 9:24:59 PM Pacific Daylight Time",
"longitude": -122.0312186,
"latitude": 37.332331410000002
}
}
但是,如果我现在发送以下内容:
{
"approvalRequired": false,
"scheduledStartTime": "2016-01-01T10:24:00+01:00",
"location": {
"locationName": "<+37.33233141,-122.03121860> +\/- 5.00m (speed 0.00 mps \/ course -1.00) @ 9\/16\/18, 9:24:59 PM Pacific Daylight Time",
"longitude": -122.0312186,
"latitude": 37.332331410000002
}
}
我收到上述错误。在我的后端代码中,我有以下内容:
@DynamoDBTypeConverted(converter = ZonedDateTimeTypeConverter.class)
@DynamoDBAttribute(attributeName = "scheduledStartTime")
public ZonedDateTime scheduledStartTime;
API 方法签名如下所示:
@RequestMapping(method = RequestMethod.POST)
public ResponseEntity create(@RequestBody Event event) {...}
我相信我遇到的问题是 JSON 无法解析为 ZonedDateTime。有没有人对(1)json字符串格式ZonedDateTime自动接受的时间或(2)如何使DTO解析分区日期时间?
谢谢!
【问题讨论】:
-
请提供有关所使用的不同技术的更多信息
-
当然。你具体在找什么?假设 Spring MVC。我更感兴趣的是了解如何调试这个只是获得答案..
-
不清楚你的
ZonedDateTimeTypeConverter是如何实现的(请提供足够的信息),但一般ZonedDateTime不接受558851094.57158995之类的东西。尝试发送类似"2007-12-03T10:15:30+01:00[Europe/Paris]"的字符串,如doc ofZonedDateTime。 -
@AlexKornhauser ,您使用哪个解析器,能否请您提供 Spring 配置部分?如果您不介意,请告诉我们您使用的 Spring 版本。
-
这不是一个 Swift 问题,这是一个 Java 问题。
标签: java spring zoneddatetime