2016-07-12 3 views
0

Я новичок в области фреймворка, у меня есть два маршрута, которые имеют сходную функциональность и только последний сегмент изменяется. Я объединил его с помощью оператора «|». Как узнать, какой последний сегмент был выбран.Получение последнего сегмента пути в случае использования условия ИЛИ

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 Я использую Spray/Akka в течение 3 лет и никогда не видел «Map», как это в маршрутизации. Не могли бы вы указать на соответствующую часть документации для akka-http? – expert

+1

@expert - это [документация] (http://spray.io/documentation/1.2.2/spray-routing/path-directives/pathmatcher-dsl/#examples) от маршрутизации распыления. atta-http, я не знаю. –

Смежные вопросы