1
私はケースクラスPlay Framework - Json Serializationのいくつかのフィールドを無視するにはどうすればよいですか?
case class User (
id: Option[Long] = None,
username: String,
password: Option[String] = None,
)
そして、ここでは、このケースクラス
object User {
implicit val userWrites: Writes[User] = (
(JsPath \ "id").write[Option[Long]] and
(JsPath \ "username").write[String] and
(JsPath \ "password").write[Option[String]] and
)(unlift(User.unapply))
}
ためのJSONシリアライザであるしかし、私はAPIレスポンスにパスワードフィールドを公開したくないです。どうすれば達成できますか?
私はSlickに適切なテーブルのデータを読み書きするためにこれを使用します。私は多くの場所、サービスレイヤー、コントローラレイヤーでそれを使用していますが、APIレスポンスのために別のクラスを作成したくありません。パスワード)。
は、異なる構文をありがとう、それが動作します。私は上記の例からパスワードフィールドを削除しようとしましたが、コンパイルされなかったのはなぜですか? – Teimuraz
これは、未適用のため、パスワードフィールドを削除すると引数の数が一致しないので、 '(unlift(User.unapply))'の部分を変更する必要があります。私はあなたのオブジェクトのフィールドを読んでアクセスする方が簡単なので、この構文を好む – vdebergue
ありがとう、非常に有用 – Teimuraz