在 Kotlin Fuel 的 http 响应中看不到错误消息

Cannot see error message in http response in Kotlin Fuel

我正在使用 Kotlin 上的 Fuel 库向我的 Elasticsearch 服务器发送 HTTP PUT 请求。但是,如果服务器 returns 404 或 400,我看不到错误正文。我希望收到类似于以下内容的错误消息:

{
  "error": {
    "root_cause": [
      {
        "type": "invalid_snapshot_name_exception",
        "reason": "[snap1:kopya3]Invalid snapshot name [kopya3], snapshot with the same name already exists"
      }
    ],
    "type": "invalid_snapshot_name_exception",
    "reason": "[snap1:kopya3]Invalid snapshot name [kopya3], snapshot with the same name already exists"
  },
  "status": 400
}

这是我的代码:

        val (request, response, result) = fullUrl
            .httpPut()
            .body(payload)
            .responseString()

        val (bytes, error) = result

        print(error)

相反,我看到的是:

HTTP Exception 400 Bad Request
    com.github.kittinunf.fuel.core.FuelError$Companion.wrap(FuelError.kt:84)
    com.github.kittinunf.fuel.core.DeserializableKt.response(Deserializable.kt:168)
    com.github.kittinunf.fuel.core.requests.DefaultRequest.responseString(DefaultRequest.kt:475)
    com.a.b.c.d.model.Cluster.createSnapshot(Cluster.kt:67)
    com.a.b.c.d.model.Cluster.createSnapshot$default(Cluster.kt:57)
    com.a.b.c.d.model.ClusterKt.main(Cluster.kt:85)
Caused by: HTTP Exception 400 Bad Request
    com.github.kittinunf.fuel.core.FuelError$Companion.wrap(FuelError.kt:86)
Caused by: com.github.kittinunf.fuel.core.HttpException: HTTP Exception 400 Bad Request
    com.github.kittinunf.fuel.core.requests.RequestTask.prepareResponse(RequestTask.kt:35)
    com.github.kittinunf.fuel.core.requests.RequestTask.call(RequestTask.kt:47)
    com.github.kittinunf.fuel.core.requests.RequestTask.call(RequestTask.kt:14)
    com.github.kittinunf.fuel.core.DeserializableKt.response(Deserializable.kt:166)
    com.github.kittinunf.fuel.core.requests.DefaultRequest.responseString(DefaultRequest.kt:475)
    com.a.b.c.d.model.Cluster.createSnapshot(Cluster.kt:67)
    com.a.b.c.d.model.Cluster.createSnapshot$default(Cluster.kt:57)
    com.a.b.c.d.model.ClusterKt.main(Cluster.kt:85)

如何查看实际的错误消息?提前致谢。

我通过查看字节数组 response.data 解决了我的问题。通过 String(response.data) 将其转换为字符串我可以看到错误消息。