使用Play 2.0.1我定义了以下路由:
GET /demo/list controllers.Demos.listDemos(page: Int ?= 0, orderBy: Int ?= 1, nameFilter: String ?= "", versionFilter: Long ?= -1, tagFilter: List[String] ?= Nil)
Run Code Online (Sandbox Code Playgroud)
但我在编译时遇到这个错误:
No QueryString binder found for type List[String]. Try to implement an implicit QueryStringBindable for this type.
Run Code Online (Sandbox Code Playgroud)
我发现Play 2.1-RC(尚未正式发布)的代码可以解决这个问题:
/**
* QueryString binder for List
*/
implicit def bindableList[T: QueryStringBindable] = new QueryStringBindable[List[T]] {
def bind(key: String, params: Map[String, Seq[String]]) = Some(Right(bindList[T](key, params)))
def unbind(key: String, values: List[T]) = unbindList(key, values)
}
/**
* QueryString binder …Run Code Online (Sandbox Code Playgroud)