gpt4 book ai didi

playframework - Play Framework - 如何忽略 Json 序列化的某些字段?

转载 作者:行者123 更新时间:2023-12-05 00:49:34 24 4
gpt4 key购买 nike

我有案例课

case class User (
id: Option[Long] = None,
username: String,
password: Option[String] = None,
)

这里是这个案例类的 json 序列化器

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))
}

但我不想在 api 响应中公开 password 字段。我怎样才能实现它?

我也使用它来让 Slick 在适当的表中读/写数据,我在很多地方使用它,服务层, Controller 层,我不想为 api 响应创建单独的类(没有密码)。

最佳答案

只需从您的 Writes 中删除密码字段:

implicit val userWrites: Writes[User] = Writes { user =>
Json.obj(
"id" -> user.id,
"username" -> user.username
)
}

关于playframework - Play Framework - 如何忽略 Json 序列化的某些字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39089851/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com