问题标签 [http4s-circe]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4626 浏览

scala - 使用 Http4s 的 Circe 编码器和解码器

我正在尝试使用 http4s、circe 和 http4s-circe。

下面我尝试使用 circe 的自动推导功能。

我得到这两个编译器错误的多个实例

0 投票
1 回答
1079 浏览

json - 在 http4s 上运行时,使用 Circe 将递归数据结构编码为 Json

我正在构建一个非常简单的服务,它应该返回一个通过递归案例类定义的树状结构:

但由于某种原因,我不断收到以下编译错误:

错误:(24, 70) 找不到参数编码器的隐含值:io.circe.Encoder[Seq[com.ansarada.ds.docviewer.server.Main.Node]]
隐式验证节点编码器:EntityEncoder[Seq[Node]] = jsonEncoderOf[序列[节点]]

错误:(24, 70) 方法 jsonEncoderOf 的参数不足:(隐式编码器:io.circe.Encoder[Seq[com.ansarada.ds.docviewer.server.Main.Node]])org.http4s.EntityEncoder[Seq[ com.ansarada.ds.docviewer.server.Main.Node]]。未指定值参数编码器。隐式验证节点编码器:EntityEncoder[Seq[Node]] = jsonEncoderOf[Seq[Node]]

代码被编译,一旦我删除了一个子元素定义并将一个节点变成一个平面对象:

任何人都可以帮我为嵌套孩子的情况定义正确的 Json 编码器吗?

完整代码:

0 投票
2 回答
184 浏览

scala - HttpService 上的 Await.result

我有一个带有 http4s 0.15.16a 和 slick 3.2.1 的 scala 项目,步骤如下:

  1. 通过 rest call 接收 ID
  2. 将 ID 传递给以 Future 响应的 MySlickDAO
  3. 在 MySlickDAO 返回的 Future 上调用 Await.result(res, Duration.Inf)
  4. 创建 json

问题是我使用了 Await.result ,这是不好的做法,有更好的解决方案吗?

这里的代码:

}

0 投票
2 回答
1407 浏览

circe - Http4s EntityDecoder 不是为简单案例类自动派生的

我收到此错误:

对于以下案例类:

遇到POST代码错误:

具有以下POST主体:

我认为当身体被转换为时会发生这种UserProfile情况req.as[UserProfile]

但是,这是一个普通的案例类,EntityDecoder应该是自动派生的!我知道akka-http会!

有什么想法/建议吗?

请注意: Http4sVersion = "0.18.0-M4"circe version "0.9.0-M1"

0 投票
2 回答
5921 浏览

scala - 将 json 正文添加到 http4s 请求

本教程展示了如何创建 http4s 请求:https ://http4s.org/v0.18/dsl/#testing-the-service

我想将此请求更改为 POST 方法并使用 circe 添加文字 json 正文。我尝试了以下代码:

这给了我一个类型不匹配的错误:

我理解错误,但我不知道如何转换io.circe.JsonEntityBody. 我见过的大多数示例都使用EntityEncoder,它不提供所需的类型。

我怎样才能转换io.circe.Json成一个EntityBody

0 投票
1 回答
3338 浏览

scala - Need help decoding following json with Circe

I'm trying to parse nested JSON object with Circe library. I would like to map it to flat case class ignoring some of the fields.

result: Either[io.circe.Error,Parent] = Left(DecodingFailure(Attempt to decode value on failed cursor, List(DownField(name))))

0 投票
1 回答
1047 浏览

scala - Scala:http4s 为在 curl/requests 中工作的相同请求提供 401 Unauthorized

我尝试使用以下代码http4s v0.19.0

我收到以下错误:

不仅如此,我的程序从未退出(我是否必须关闭某些客户端!?)即使我连接了一个日志中间件,它也从未打印过请求

我接下来尝试了@li-haoyi 的请求库,没有返回错误:

上面的代码同样适用,uri所以baseToken不可能是我的令牌是错误的。可以肯定的是,我尝试了 curl:

此问题也发生在http4s v0.18.19(即使使用显式Json和接受标头):

所以我的问题是:

  1. 为什么两者都requests工作curlhttp4s给我 401 相同的请求?
  2. 为什么我的http4s版本永远不会退出?
  3. 为什么请求记录器中间件不记录请求?
0 投票
1 回答
138 浏览

scala - 值解码不是 org.http4s.AuthedRequest 的成员

我使用http4s的是 Circe 0.18 版,当我使用以下代码value decode is not a member of org.http4s.AuthedRequest将 json 正文转换为 a 时出现错误:case classAuthedService

0 投票
0 回答
129 浏览

scala - 使用 http4s 获取请求中的 403 禁止错误

我在 http4s 中做一个简短的任务,很长一段时间以来我都收到了 403 错误,这很难调试。我的代码是:

0 投票
1 回答
262 浏览

json - Circe asJson 不编码抽象基类的属性

假设我有以下抽象基类:

它由以下具体案例类扩展:

然后我尝试使用如下代码获取 JSON 字符串:

如您所见,_id: String继承自的属性RecordObject丢失了。我希望内置编码器应该可以很好地用于这个用例。我真的需要自己建造吗?