【发布时间】:2016-08-11 03:11:11
【问题描述】:
我将 Spring Framework 用于我的服务 API,org.joda.time.DateTime 用于日期时间解析。具体来说,我使用的是ISOFormatter.dateOptionalTimeParser(),它允许用户灵活地只使用日期,或者同时使用日期和时间,这是一个要求。
相信我,我已经看到了所有这些相关的问题,我已经可以告诉人们将指向我的问题,例如this和this等
之前我是把日期取为String,然后在服务层使用上面提到的joda formatter进行处理,但是现在我想在控制器中添加请求验证,这意味着如果请求语法不正确,请求甚至不应该转到服务层。
我尝试过使用@DateTimeFormat(iso = ISO.DATE_TIME) 的多种变体,以及以格式指定pattern 字符串,但无论如何都没有成功。
@RequestMapping(value = URIConstants.TEST_URL, method = RequestMethod.GET)
public @ResponseBody String getData(@RequestParam(required = false) DateTime from,
@RequestParam(required = false) DateTime to) {
return dataService.fetchDataFromDB(from, to);
}
我应该怎么做才能确保我从用户那里得到的日期符合ISO 8601 dateOptionalTime 格式?我可以应用多种模式来实现吗?
【问题讨论】:
标签: java spring-mvc jodatime