Volley to Retrofit2 - 如何使用 Retrofit2 进行字符串请求?

Volley to Retrofit2 - How to do a String Request with Retrofit2?

我想将以下 Volley 字符串请求迁移到 Retrofit2。 此请求检索响应主体作为字符串,我自己解析。

fun updatePodcastEpisodesRQ( url: String) {
   val feedReq = StringRequestUTF8(
     Request.Method.GET,
     url,
     { response: String? -> ...},
     { error: VolleyError ->...}
   )
  App.instance?.addToRequestQueue(feedReq, TAG_JSON_REQUEST1)
}   

请注意,URL 可以是任何地址,因此在执行 JSON 请求时,Retrofit.Builder() 中没有定义 baseUrl。

是否可以用 Retrofit2 做这么简单的请求?

其实okhttp3满足了我所有的需求。我从 Volley 迁移到了 okhttp3。

private val client = OkHttpClient()

suspend fun getFeed(url: String): String {
    val request = Request.Builder()
        .url(url)
        .build()

    client.newCall(request).execute().use { response ->
        if (!response.isSuccessful)
            throw IOException("Error occurred - code:${response.code} message=${response.message}")
        if (response.body == null)
            throw IOException("Error occurred - null body")
        return response.body!!.string()
    }
}