【发布时间】:2016-05-31 10:37:25
【问题描述】:
我正在使用 Slick 在 Scala Playframework 中编写一个后端 RESTful API 服务器来访问数据库。
因为我的数据库架构一直在发展,我决定通过 slick-codegen 生成 Slick 帮助程序类。用户表映射到这个 Scala 案例类
case class UserRow(userId: Long, username: String, passwordHash: String,
passwordSalt: String, email: String, firstName: String, ...)
现在我的数据访问由 2 层组成:服务和 DAO
DAO 非常简单,允许在数据库中插入、删除等 UserRow
现在我的问题从应用程序控制器调用的服务层设计开始。
如果例如它的 show(id) 方法将返回一个 UserRow,我将显示用户的私有盐和密码哈希。另一方面,这种方法可以让我轻松地将它们包装进和包装出 JSON。
另一种方法是 show 方法(仅用作示例)返回一个包含数据的元组,但这对于 json 传输会很不方便。
另外,我可以创建一个额外的 User 类,但从长远来看这会产生大量的样板文件
处理这种情况的正确方法是什么?以后在哪里可以找到推荐的智能模式?
【问题讨论】:
标签: scala design-patterns playframework slick