0

在我的应用程序中,我有一个自定义案例类,如下所示,其中包含一堆附加字段。

case class User(id: UUID, username: String, password: String)

现在我的 Finatra 控制器获取服务返回的响应,并发送一个包含密码哈希的 JSON 响应。控制器是最基本的

get("/users") {request: GetUsersRequest =>
    userService.users()
}

所以我的问题是我们如何自定义这个响应,以便我可以删除密码字段并添加一些额外的数据。

4

1 回答 1

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!"))
}
于 2016-05-28T22:51:49.720 回答