0
私のアプリでは、以下のような追加のフィールドを持つカスタムケースクラスがあります。Finatraのコントローラからのカスタムレスポンス
case class User(id: UUID, username: String, password: String)
今私のFinatraコントローラは、サービスによって返された応答をピックアップし、同様にパスワードのハッシュが含まれているJSON応答を送信します。それは私の質問は、私たちは私がパスワードフィールドをドロップし、同様にいくつかの追加データを追加することができるように、この応答をカスタマイズする方法だろう
get("/users") {request: GetUsersRequest =>
userService.users()
}
を取得し、コントローラは、などの基本です。
これは機能します。しかし、これを行うためのより多くのScala-yの方法があるかどうか疑問に思っていました。 FinatraはFuture [T]型の応答を暗黙のうちにTのjsonオブジェクトに変換するので、私たちが望むフィールドでjsonオブジェクトを作成するように要求することができるならば、 – bythe4mile
これはまさに上記の答えがするものです。特にあなたは追加情報も求めていました。原則として、フィールドのセットを変更することはデータのタイプを変更することであり、実際にはFuture [T]からFuture [U]へ行くことになります。 – Det