在http4s中发送JSON响应的正确方式是使用org.http4s.circe.CirceEntityEncoder
提供的jsonEncoderOf
方法将JSON对象编码为响应体。具体步骤如下:
http4s-circe
依赖。在build.sbt
文件中添加以下行:libraryDependencies += "org.http4s" %% "http4s-circe" % "0.23.0-M1"
import org.http4s._
import org.http4s.dsl.Http4sDsl
import org.http4s.circe.CirceEntityEncoder._
import io.circe.syntax._
HttpRoutes
对象,并使用Http4sDsl
提供的方法定义路由:val dsl = Http4sDsl[IO]
import dsl._
val routes: HttpRoutes[IO] = HttpRoutes.of[IO] {
case GET -> Root / "example" =>
val json = Map("key" -> "value").asJson
Ok(json)
}
asJson
方法将要发送的JSON对象转换为io.circe.Json
类型。Ok
方法将JSON对象作为响应体发送回客户端。这样,当客户端发送GET请求到/example
路径时,将会收到一个带有JSON响应体的200 OK响应。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云对象存储(COS)。
领取专属 10元无门槛券
手把手带您无忧上云