Play 2.1 では、以下のようなものを使用して、読み取りを通じて JSON から Creature オブジェクトを取得します。
implicit val creatureReads = (
(__ \ "name").read[String] and
(__ \ "isDead").read[Boolean] and
(__ \ "weight").read[Float]
)(Creature.apply _)
Scala では比較的新しいので、Apply メソッドを使用せずに Creature オブジェクトを構築する他の方法があるかどうかを理解しようとしています。適用に依存する代わりに、オブジェクトを作成する匿名関数を持つことは可能でしょうか?
オブジェクトのほとんどのフィールドが欠落している可能性があるユースケースがありますが、私が持っているものからオブジェクトを構築したいと考えています。オブジェクトに対して 1 つの READ を定義し、各フィールドに対して readnullable を使用する方がよいでしょうか?
また、複雑な条件を使用することもできます。1 つのリーダーですべてのケースをキャプチャしようとするのではなく、カスタム関数を定義してビルドする方がクリーンでしょうか?