Playの複数のパスパラメータのPathBindable

モシェ・シュヴァルツベルク

PathBindable でこのドキュメントを読みました。

次のようなルートがある場合:

GET     /user/:user/posts/:postId            controllers.BinderApplication.post(user: scalaguide.binder.models.Post)

Post オブジェクトで両方のパラメーターを取得するにはどうすればよいでしょうか。

投稿クラスは次のようになります

case class Post(postId: Long, userId: Long)

QueryStringBindableを使用できることは知っていますが、パス パラメーターも使用する方法があるかどうか疑問に思っています。

アンドリー・クバ

この場合、アクションの構成またはアクションだけが良い練習になります。

ルート:

GET     /user/:userId/posts/:postId   controllers.HomeController.post(userId: Long, postId: Long)

コントローラ:

def post (postId: Long, userId: Long) = Action{
  val user = Post(postId, userId) //some massive operation, could be async, then use Action.async
  Ok(user.toString())
}

を構築するにはPost、ユーザーと投稿 ID を取得する必要があります。それはかなり大規模な操作のようです。IO スレッドでバインド ルートを再生するため、この場所で大規模な操作を実行してすべてのリクエストをブロックします。

ドキュメント:

この例では、findById メソッドが呼び出されてユーザー インスタンスを取得します。コードはサーバー IO スレッドで呼び出され、完全に非ブロッキングでなければならないため、実際の世界では、そのようなメソッドは軽量であり、DB アクセスなどを伴わない必要があることに注意してください。

したがって、たとえば、単純なオブジェクト識別子をパス バインド可能として使用し、アクション合成を使用して実際の値を取得します。

そして、Greg Methvin (Lightbend エンジニア) からのアドバイスのあるスレッド: https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/play-framework/b1fF2EdmCJ8/F2mX1EflJAAJ

それでも、そのようなトリックを実行したい場合は、文字列補間ルーティング DSL を使用できます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

.htaccessURLの複数のパラメータ

分類Dev

複数のパラメータの使用

分類Dev

複数のパラメータのGCD

分類Dev

複数の関数パラメータ?

分類Dev

複数のパラメータとパラメータリストの準引用

分類Dev

型クラスの複数の型パラメーター?

分類Dev

RestURL標準-複数のパスパラメータ

分類Dev

リスト内の複数のパラメーター

分類Dev

AND複数のパラメータ

分類Dev

複数のパラメータ値

分類Dev

MongoRepositoryfindByThisAndThatカスタム@Queryと複数のパラメーター

分類Dev

===パラメータの複数のインスタンスでの効率?

分類Dev

複数のパラメータパック-どのように?

分類Dev

複数のパラメータURLパターンdjango2.0

分類Dev

複数のパラメーターの式本体とスローの混合

分類Dev

「New-Item」の「-name」パラメータの複数の変数

分類Dev

Reactルーターの複数のパラメーター

分類Dev

複数の型パラメーターを使用した型クラスの使用

分類Dev

関数の複数のパラメーター

分類Dev

複数の回帰パラメーターのStatsmodelsOLS関数

分類Dev

関数Pythonの複数のパラメーター定義

分類Dev

複数の変数のパラメーター展開

分類Dev

SwaggerEditorのボディ内の複数のパラメーター

分類Dev

sklearnの検証曲線の複数のパラメーター

分類Dev

C ++ 17複数パラメーターパックの拡張

分類Dev

Symfony1.4の複数のメーラーインスタンスのFactories.ymlパラメーター

分類Dev

WordPressAJAXの複数のデータパラメータ

分類Dev

Swift-Webサービスへの複数のパラメーター

分類Dev

WebサービスjavaJAX-RSの複数のパラメーター

Related 関連記事

  1. 1

    .htaccessURLの複数のパラメータ

  2. 2

    複数のパラメータの使用

  3. 3

    複数のパラメータのGCD

  4. 4

    複数の関数パラメータ?

  5. 5

    複数のパラメータとパラメータリストの準引用

  6. 6

    型クラスの複数の型パラメーター?

  7. 7

    RestURL標準-複数のパスパラメータ

  8. 8

    リスト内の複数のパラメーター

  9. 9

    AND複数のパラメータ

  10. 10

    複数のパラメータ値

  11. 11

    MongoRepositoryfindByThisAndThatカスタム@Queryと複数のパラメーター

  12. 12

    ===パラメータの複数のインスタンスでの効率?

  13. 13

    複数のパラメータパック-どのように?

  14. 14

    複数のパラメータURLパターンdjango2.0

  15. 15

    複数のパラメーターの式本体とスローの混合

  16. 16

    「New-Item」の「-name」パラメータの複数の変数

  17. 17

    Reactルーターの複数のパラメーター

  18. 18

    複数の型パラメーターを使用した型クラスの使用

  19. 19

    関数の複数のパラメーター

  20. 20

    複数の回帰パラメーターのStatsmodelsOLS関数

  21. 21

    関数Pythonの複数のパラメーター定義

  22. 22

    複数の変数のパラメーター展開

  23. 23

    SwaggerEditorのボディ内の複数のパラメーター

  24. 24

    sklearnの検証曲線の複数のパラメーター

  25. 25

    C ++ 17複数パラメーターパックの拡張

  26. 26

    Symfony1.4の複数のメーラーインスタンスのFactories.ymlパラメーター

  27. 27

    WordPressAJAXの複数のデータパラメータ

  28. 28

    Swift-Webサービスへの複数のパラメーター

  29. 29

    WebサービスjavaJAX-RSの複数のパラメーター

ホットタグ

アーカイブ