在play 2.4中使用url重写的可选参数

时间:2016-08-12 06:42:28

标签: playframework url-rewriting java-8 optional-parameters playframework-2.4

我想在play 2.4 java中使用可选参数。阅读docs后,我添加了以下路线:

GET  /api/users/:page  controllers.EmployeeController.getUsers(page:Int,pageSize:Int ?= 10)

我希望页面大小在此网址中是可选的。我可以访问的网址是:

/api/users/1
/api/users/1?pageSize=5

但问题是我想使用第二个网址:

/api/users/1/5

目前我找不到行动。

有没有办法实现这个目标?

注意:我不想像@Salem提到的那样创建一个单独的网址。我想在路径文件中使用这个单个URL。

1 个答案:

答案 0 :(得分:1)

只需向同一个控制器添加第二个映射(如果没有提供,则假设你想使用“10”作为pageSize值)

GET     /api/users/:page              controllers.EmployeeController.getUsers(page:Int,pageSize:Int = 10)
GET     /api/users/:page/:pageSize    controllers.EmployeeController.getUsers(page:Int,pageSize:Int)

请注意,如果getUsers不再是可选的第二个参数