在 Scala 中使用 Akka Http 和 Circe 解码 JSON

Fre*_*man 5 json scala akka-http circe

我正在尝试创建 Akka Http REST post 端点,将 JSON 对象映射到定义的案例类

import io.circe.Decoder, io.circe.generic.auto._

case class JobEntity(id: Option[Long] = None, name: String, description: String, json_data :java.sql.blob) 
Run Code Online (Sandbox Code Playgroud)

JSON 的类型为

{
 "id": "124",
 "name": "MYJOB",
 "description": "Test Job"
}
Run Code Online (Sandbox Code Playgroud)

现在我想将整个 JSON 映射到“json_data”,作为案例类中定义的 blob

  post {
  entity(as[JobEntity]) { jobEntity: JobEntity =>
    complete(createJob(jobEntity).map(_.asJson))
  }
}
Run Code Online (Sandbox Code Playgroud)

我知道 .map(_.asJson) 会将 json 映射到 JobEntity,如果不是这样,请纠正
我如何将整个 JSON 映射到 json_data。

sim*_*djo 3

您需要导入 Circe 支持方法。请参阅示例。并且您需要添加依赖项de.heikoseeberger % akka-http-circe