2016-07-12 14 views
0

の場合には、パスの最後のセグメントを取得、私はフレームワークを噴霧する新しいです、私は同様の機能のみ最後のセグメントの変更を持つ2つのルートがあります。私は '|'演算子を使ってそれを組み合わせました。どの最後のセグメントが選択されたかをどのように知ることができますか?使用してOR条件

path("users"/Segment/"viewers_count") { userId => 

} 

path("users"/Segment/"views_count") { userId => 

} 

私はどのように私はこれを達成することができます

path("users"/Segment/("viewers_count" | "views_count")) { userId => 
     //here i want to know if viewers_count OR views_count 
    // based on that I want to pass "viewers" OR "views" to a module 
} 

を使用して結合しています。

答えて

3

それは非常に簡単です。それをマップに抽出することができます。

path("users"/Segment/Map("viewers_count" -> "viewers", "views_count" -> "views")) { (userId, selected) => 
     // here selected variable will contain viewers or views based on the path. 
} 
+0

コードのおかげでたくさん! – sanjeev

+0

user007 @私は3年間のスプレー/アッカを使用して、このような 'Map'ルーティングでは見たことがないしてきました。 akka-httpに関する関連文書を指摘してください。ここで – expert

+1

@expertスプレールーティングから[ドキュメント](http://spray.io/documentation/1.2.2/spray-routing/path-directives/pathmatcher-dsl/#examples)です。 atta-http、私は知らない。 –

関連する問題