在我的应用程序中,我有一个自定义案例类,如下所示,还有一堆其他字段。
case class User(id: UUID, username: String, password: String)
现在,我的Finatra控制器获取服务返回的响应,并发送包含密码哈希的JSON响应。控制器是最基本的
get("/users") {request: GetUsersRequest =>
userService.users()
}
所以我的问题是如何自定义此响应,以便我可以删除密码字段并添加一些其他数据。
答案 0 :(得分:1)
假设userService.users()
返回用户列表。即List[User]
然后使用map
转换回复。
例如,您可以映射到新的案例类。
case class UserDTO(id: UUID, username: String, comment: String)
如果您还不想使用课程,也可以map
到Tuple
。
get("/users") {request: GetUsersRequest =>
userService.users().map(u => UserDTO(u.id, u.username, "Comment!"))
}