Tei*_*raz 2 jsonserializer playframework
我有案例课
case class User (
id: Option[Long] = None,
username: String,
password: Option[String] = None,
)
Run Code Online (Sandbox Code Playgroud)
这个案例类是json serialiser
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))
}
Run Code Online (Sandbox Code Playgroud)
但我不想在api响应中公开密码字段.我怎样才能实现它?
我也使用这个用于Slick在适当的表中读/写数据,我在许多地方,服务层,控制器层使用它,我不想为api响应创建单独的类(没有密码).
只需从以下位置删除密码字段Writes:
implicit val userWrites: Writes[User] = Writes { user =>
Json.obj(
"id" -> user.id,
"username" -> user.username
)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1675 次 |
| 最近记录: |