Scala播放相同的路线

时间:2017-01-13 04:00:42

标签: scala playframework routes playframework-2.0

我在路线文件中有相同的路线,但它们的操作不同,如图所示

GET         /counts                                 controllers.Application.getAllCountsByFeature(features)
GET         /counts                                 controllers.Application.getAllCounts()

我将这两条路线称为

http://localhost:9000/segments/counts?features=feature_1,feature_2-feature_3
http://localhost:9000/segments/counts

但它没有用。我希望播放识别基于查询字符串调用哪条路由。如果提供了查询字符串,那么它应该点击getAllCountsByFeature方法,依此类推。

有什么办法吗? 我正在使用Play 2.5.9

1 个答案:

答案 0 :(得分:2)

使用带有可选参数的一条路线

GET         /counts                                 controllers.Application.getAllCountsByFeature(features: Option[String])

然后

def getAllCountsByFeature(features: Option[String]) = Action {
  features match{
    case Some(f) => //..
    case None => getAllCounts()
  }
}