在playframework中,我们在实现QueryStringBindable时,是否需要一直覆盖unbind方法?

问题描述 投票:0回答:1

https:/www.playframework.comdocumentation2.8.0apiscalaplayapimvcQueryStringBindable.html

这个例子和许多其他例子在创建OueryStringBindable隐式时总是实现bind和unbind,我们真的需要同时实现吗?

scala playframework
1个回答
1
投票

两种 QueryStringBindable.{unbind,bind} 是抽象的,所以它们需要被实现(而不是被覆盖,因为在trait中没有默认实现)。

A 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 })
}
© www.soinside.com 2019 - 2024. All rights reserved.