一个路由有两个控制器

时间:2015-07-13 11:29:32

标签: playframework playframework-2.4

我想使用一个 url ,其中不同的查询参数将由不同的控制器处理:

  

GET / areas controllers.Application.getXTree(from:String,to:String)

     

GET / areas controllers.Application.getChildren(parentId:String)

现在我的第二条路线有错误:

  

对于请求' GET /区域?parentId = f785d5cc-c8f7-4ddf-a611-757c8f91f536'   [缺少参数:来自]

是否可以这样做?

1 个答案:

答案 0 :(得分:0)

不,这是不可能的:

  

许多路线可以匹配相同的请求。如果存在冲突,则使用第一个路径(按声明顺序)。 Routing-priority

试试这个:

GET /areas/:from/:to controllers.Application.getXTree(from: String, to: String)

GET /areas/:parentId controllers.Application.getChildren(parentId:String)

您也可以使用

GET   /areas/*params          controllers.Application.xTreeOrChildren(params)

然后按params解析Application.xTreeOrChildren,但我更喜欢第一种解决方案。

有关详细信息,请参阅ScalaRouting