1

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

またはsth。そうでなければ、読みやすい - URL を使用して転送でき、Date オブジェクトに簡単に解析できる限り、私は気にしません。

4

3 に答える 3

1

日付の ISO 規格番号 8601 があります。

http://en.wikipedia.org/wiki/ISO_8601

日付と時刻の値は、年、月 (または週)、日、時、分、秒、および秒以下の重要度の高いものから順に編成されます。

于 2012-12-31T17:46:14.773 に答える
0

ここでネイティブ Play2 パス バインダーを確認できます: https://github.com/playframework/Play20/blob/master/framework/src/play/src/main/scala/play/api/mvc/Binders.scala#L251

現在、パラメータで Date を処理するものはありません。

ただし、 ISO 8601形式 ( ISODateTimeFormat を使用)を使用して、DateTime (JodaTime) の上に独自の PathBinder を作成できます。

良いプルリクエストになると思います ;)

于 2013-01-02T09:45:04.520 に答える
0

ここで 2 つの質問があるようです。

  1. 日付を簡単にフォーマットして解析する方法は? Java で日付を処理するのに最適なライブラリはJoda Timeだと思います。さまざまな形式で日付をフォーマットおよび解析するためのメソッドがあります。
  2. カスタムパーサーでルートを定義する方法は? そのためには、独自の QueryStringBindable を定義する必要があります。例として、ダブルスに関するこの回答を見てください。
于 2012-12-31T18:29:54.443 に答える