小编Sar*_*rav的帖子

okhttp3 moshi - JsonAdapter 运行时问题

我正在尝试运行使用 okhttp3 进行 Rest api 调用的示例代码。

MoshiJsonConvertor.kt:

import com.squareup.moshi.JsonClass
import com.squareup.moshi.Moshi
import okhttp3.OkHttpClient
import okhttp3.Request
import java.io.IOException

class MoshiJsonConvertor {
    private val client = OkHttpClient()
    private val moshi = Moshi.Builder().build()
    private val gistJsonAdapter = moshi.adapter(Gist::class.java)

    fun run() {
        val request = Request.Builder()
                .url("https://api.github.com/gists/c2a7c39532239ff261be")
                .build()
        client.newCall(request).execute().use { response ->
            if (!response.isSuccessful) throw IOException("Unexpected code $response")

            val gist = gistJsonAdapter.fromJson(response.body!!.source())

            for ((key, value) in gist!!.files!!) {
                println(key)
                println(value.content)
            }
        }
    }

    @JsonClass(generateAdapter = true)
    data class Gist(var files: Map<String, GistFile>?)

    @JsonClass(generateAdapter = …
Run Code Online (Sandbox Code Playgroud)

kotlin okhttp moshi

2
推荐指数
1
解决办法
2566
查看次数

标签 统计

kotlin ×1

moshi ×1

okhttp ×1