在 playframework 中,我们是否需要在实现 QueryStringBindable 时始终覆盖 unbind 方法?
In playframework, do we need to always override unbind method when implementing QueryStringBindable?
https://www.playframework.com/documentation/2.8.0/api/scala/play/api/mvc/QueryStringBindable.html
该示例和许多其他示例在创建 OueryStringBindable 隐式时总是实现绑定和解除绑定,我们真的需要实现两者吗?
两者QueryStringBindable.{unbind,bind}
都是抽象的,所以它们需要被实现(没有重写,因为特征中没有默认实现)。
一个QueryStringBindable
也可以从提供的派生出来。
case class Foo(name: String)
object Foo {
// Derive with `transform` ...
implicit val queryStringBindable: QueryStringBindable[Foo] =
implicitly[QueryStringBindable[String]].transform[Foo](
{ name: String => Foo(name) },
{ foo: Foo => foo.name })
}
https://www.playframework.com/documentation/2.8.0/api/scala/play/api/mvc/QueryStringBindable.html
该示例和许多其他示例在创建 OueryStringBindable 隐式时总是实现绑定和解除绑定,我们真的需要实现两者吗?
两者QueryStringBindable.{unbind,bind}
都是抽象的,所以它们需要被实现(没有重写,因为特征中没有默认实现)。
一个QueryStringBindable
也可以从提供的派生出来。
case class Foo(name: String)
object Foo {
// Derive with `transform` ...
implicit val queryStringBindable: QueryStringBindable[Foo] =
implicitly[QueryStringBindable[String]].transform[Foo](
{ name: String => Foo(name) },
{ foo: Foo => foo.name })
}