2

rest/json 経由でデータを取得し、reactivemongo を使用して mongodb に保存する play2 アプリを作成しています。

ケースクラスから構築されたモデルを使用しており、implicit val myFormat = Json.format[myCaseClass]

現在、mongodb からのオブジェクトのケース クラスがあります。それらには _id フィールドが含まれており、すべてが機能します。入ってくる新しいオブジェクトには当然この id フィールドがないため、Json.fromJson[myCaseClass](req.body)バリデーターは失敗します。

本当に新しいオブジェクト用に別のケース クラスを作成する必要がありますか?それとも、クラスを複製して _id を削除することなく、より DRY で洗練されたソリューションがありますか?

4

2 に答える 2

0

私は提案に従い、_id: Option[BSONObjectID]トリックを行います。implicit val userFormat = Json.format[User]オプションを含むマクロを作成できるため、リーダーを実装する必要はありませんでした。

于 2013-11-14T14:26:49.043 に答える