使用Play 2我想创建一个REST API,其中包括
/resource/<startDateTime>
表示返回资源的所有项目,其startDateTime
大于URL中给出的startDateTime。
所以现在我需要一些DateTime格式,它可以通过人工可读格式的URL传递,并且仍然很容易解析为Play 2控制器内的Java Date对象。关于那的任何提示/最佳实践?谢谢你的提示!
更新: 如果Play会为我解析,那就更好了。对于路由配置中的java.util.Date,我收到错误
No QueryString binder found for type java.util.Date. Try to implement an implicit QueryStringBindable for this type.
是否有任何预定义来解析日期?
更新
预期投入: 可能是例如。
http://site.com/resource/20121231-141557 # 2012/12/31 14:15:57
或某事。否则,易读 - 我不在乎,只要它可以使用URL传输,并且很容易解析为Date对象。
答案 0 :(得分:1)
答案 1 :(得分:0)
这里似乎有两个问题:
答案 2 :(得分:0)
您可以在此处查看原生Play2路径活页夹:https://github.com/playframework/Play20/blob/master/framework/src/play/src/main/scala/play/api/mvc/Binders.scala#L251
目前,没有什么可以在参数中处理日期。
但是您可以在DateTime(JodaTime)之上编写自己的PathBinder,使用 ISO 8601 格式(使用ISODateTimeFormat)
我认为这将是一个很好的Pull请求;)