我想测试我的 Caliban Http4s Web 服务。
Http4sAdapter
它用于GraphQLRequest
对请求正文进行建模。
case class GraphQLRequest(
query: String,
operationName: Option[String],
variables: Option[Map[String, InputValue]])
...
query <- req.attemptAs[GraphQLRequest].value.absolve
...
所以我认为在客户端我也可以使用它。
一个简单的请求有效:
GraphQLRequest("""query{
| characters(origin: EARTH) {
| name
| nicknames
| origin
| }
|}""".stripMargin, None, None)
但是如果我使用变量它不会:
GraphQLRequest("""query($origin: String){
| characters(origin: $origin) {
| name
| nicknames
| origin
| }
|}""".stripMargin, None, Some(Map("origin" -> StringValue("EARTH"))))
它只是挂起 - 甚至没有例外。
我尝试使用0.4.2
and 0.5.0
。
我添加了一个要点来显示客户端代码。它使用Circe和Sttp:客户端要点