如何在路由定义中使用布尔值?
如果我这样使用,
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) {
}
答案 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(并且它仍然保持类型安全)。