当 http 状态 < 200 || 在 kittinunf/fuel 上无法恢复答案正文> 299

问题描述

我正在使用 kittinunf/fuel 在 Android 下构建应用程序。

参考我粘贴在这里的第一个文档示例:

import com.github.kittinunf.fuel.httpGet
import com.github.kittinunf.result.Result;
fun main(args: Array<String>) {
    val httpAsync = "https://httpbin.org/get"
        .httpGet()
        .responseString { request,response,result ->
            when (result) {
                is Result.Failure -> {
                    val ex = result.getException()
                    println(ex)
                }
                is Result.Success -> {
                    val data = result.get()
                    println(data)
                }
            }
        }
    httpAsync.join()
}

如果 http 状态 299,也可以使用 val data = result.get() 还原 http 消息正文?服务器通常会在正文中返回扩展的错误状态消息,而 iOS http 堆栈完全支持这一点。

解决方法

如果出现错误 - 按照上面的示例 - 当结果为 Result.Failure 时,response.body() 包含答案负载(在 的情况下与 result.get() 相同结果。成功).