gpt4 book ai didi

scala - POST方法请求Http4s的正确处理方式

转载 作者:行者123 更新时间:2023-12-02 16:19:42 26 4
gpt4 key购买 nike

我有一个通过网络发送的 Post 请求以获取与用户相关的数据为此,我使用了 Http4s。

在编写 HttpRoutes 时,我使用它来处理 POST 的情况,如下所示:

case req @ POST -> Root/ "posts" { "name": username, "friends": friends} =>

namefriends 是在请求​​正文中作为参数传递的属性。

但我似乎可以识别出一些语法错误 '=>' expected but '{' found

最佳答案

这是不正确的 Scala 语法。这里有一个来自官方的例子http4s docs :

 case req @ POST -> Root / "hello" / id =>
for {
// Decode a User request
user <- req.as[User]
// Encode a hello response
resp <- Ok(Hello(user.name).asJson)
} yield (resp)

您正在通过“/hello”路径访问 API。然后将请求解码(解码)为 User 实例。例如。您可以使用 Circe JSON 库来解码请求中的内容:

import io.circe.generic.auto._
import io.circe.syntax._

import org.http4s._
import org.http4s.circe._

id 是路径变量。在这里,您也可以看看如何使用查询参数:https://http4s.org/v0.21/dsl .

Circe 编码器用于将 User 实例转换为 JSON 内容以进行响应。

Ok(Hello(user.name).asJson)

关于scala - POST方法请求Http4s的正确处理方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65790554/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com