播放2.X ScalaRouting布尔参数

时间:2013-01-18 19:55:12

标签: scala playframework-2.0

如何在路由定义中使用布尔值?

如果我这样使用,

GET     /user/:userName   controllers.AppController.user(userName, registerDone:Boolean?=0)

它会抛出此错误:

[error]  found   : Int(0)
[error]  required: Boolean

如果我这样使用,

GET     /user/:userName   controllers.AppController.user(userName, registerDone:Boolean?=false)

它会抛出此错误:

  

错误请求:/ user / aajjblack?registerDone = true,无法解析   参数registerDone as Boolean:应为0或1

控制器:

public static Result user(final String userName, Boolean registerDone) {
}

1 个答案:

答案 0 :(得分:2)

使用... Int代替

GET  /user/:userName  controllers.AppController.user(userName, registerDone: Int?=0)

动作:

public static Result user(final String userName, int registerDone) {
    if(registerDone == 0){
        return badRequest();
    }

    // do something with registered user...
    return ok();
}

这是最简单的替换任何类型的布尔值,因为您可以检查registerDone是否大于0(并且它仍然保持类型安全)。