Playframework 播放2.2可选url参数不起作用

Playframework 播放2.2可选url参数不起作用,playframework,Playframework,我在游戏2.2中定义可选参数时有点问题。 我遵循了文档中的示例 以下是我的路线: GET /customers controllers.Api.customers(id: String, type: String ?= "xml", datetime: String ?= "de") 和我的控制器: public class Api extends Controller { public static Result customers(S

我在游戏2.2中定义可选参数时有点问题。 我遵循了文档中的示例

以下是我的路线:

GET     /customers                  controllers.Api.customers(id: String, type: String ?= "xml", datetime: String ?= "de")
和我的控制器:

public class Api extends Controller {   
    public static Result customers(String id, String type, String datetime){
    // code omitted
 }
}
不幸的是,当我调用“host/customers?id=2&type=8&datetime=123456”时,我遇到了一个编译错误“简单表达式的非法启动”,有人知道我做错了什么吗

非常感谢您的帮助


干杯Lizy

问题是
类型
在Scala中是保留的,因此您无法命名该类型的路由参数。如果您将
类型
重命名为其他名称,这应该可以工作


顺便说一句:看来Play的routes编译器应该有办法解决这个问题。因此,也许您应该提交一个bug/feature请求:

问题是
类型
在Scala中是保留的,因此您无法命名一个路由参数。如果您将
类型
重命名为其他名称,这应该可以工作


顺便说一句:看来Play的routes编译器应该有办法解决这个问题。所以,也许你应该提交一个bug/功能请求:

你让我开心!我从未想过,它可能是参数的名称。对于参数来说,这是一个笨拙的选择。很抱歉在评论中添加了信用。即使对Scala关键字(`type`:String?=“xml”)使用反勾号也不起作用。你让我很开心!我从未想过,它可能是参数的名称。对于参数来说,这是一个笨拙的选择。很抱歉在评论中添加信用。即使对Scala关键字(`type`:String?=“xml”)使用反勾号也不起作用。