Playフレームワークでオプションのクエリパラメータを処理する方法
2023-09-25 12:52:38
質問
Scalaですでに機能しているPlay 2.0フレームワークベースのアプリケーションがあり、次のようなURLを提供しているとします。
http://localhost:9000/birthdays
というメッセージが表示され、既知のすべての誕生日のリストが返されます。
私は今、次のようなオプションの "from" (date) と "to" リクエストパラメータで結果を制限する機能を追加することによって、これを強化したいと思います。
http://localhost:9000/birthdays?from=20120131&to=20120229
(ここでは日付はyyyyMMddとして解釈されます)
私の質問は、Play 2.0のScalaでリクエストパラメータのバインディングと解釈をどのように扱うか、特にこれらのパラメータが両方ともオプションであるべきであることを考慮したものです。
これらのパラメータは、何らかの形で "routes" 仕様で表現されるべきでしょうか?あるいは、応答するコントローラーのメソッドは、何らかの方法でリクエストオブジェクトからパラメータを分離すべきでしょうか?これを行うための別の方法はありますか?
どのように解決するのですか?
オプションのパラメータを
Option[String]
(または
Option[java.util.Date]
を実装する必要があります。
QueryStringBindable[Date]
):
def birthdays(from: Option[String], to: Option[String]) = Action {
// …
}
そして、以下のようなルートを宣言します。
GET /birthday controllers.Application.birthday(from: Option[String], to: Option[String])
関連
-
[解決済み】Playが "run "コマンドを実行するときに使用するデフォルトのポート(9000)を変更するにはどうしたらいいですか?
-
[解決済み] 依存するメソッドタイプの説得力のある使用例とは?
-
[解決済み] Scalaのパターンマッチはなぜ変数で機能しないのですか?
-
[解決済み] Scalaです。リスト[Future]からFuture[List]への変換は、失敗したFutureを無視する。
-
[解決済み] Scala の private と protected コンストラクタ
-
[解決済み] Scalaでimmutable.Mapをmutable.Mapに変換するにはどうしたらいいですか?
-
[解決済み] パッケージオブジェクト
-
[解決済み] に似た三項演算子。
-
[解決済み] Scalaのコレクションにenrich-my-libraryパターンを適用するにはどうしたらいいですか?
-
[解決済み] 複数の先物を待つには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Scalaの配列の初期化
-
[解決済み] 単純な case class の順序を定義する簡単な慣用的方法
-
[解決済み] Scala の private と protected コンストラクタ
-
[解決済み] なぜScalaのimmutable Setは型が共変しないのか?
-
[解決済み] Scala で複数の暗黙の引数を持つ関数を定義する
-
[解決済み] フォールドの早期中止
-
[解決済み] Abstract ClassとTraitの違い[重複]について
-
[解決済み] Scalaのコレクションにenrich-my-libraryパターンを適用するにはどうしたらいいですか?
-
[解決済み] Scalaを使用したJoda Timeのクラスブロークンエラー
-
[解決済み] 依存性注入のためのリーダーモナド:複数の依存性、ネストされた呼び出し