gpt4 book ai didi

android - OkHttp 4.x 尝试通过调用请求访问 url 时出错

转载 作者:行者123 更新时间:2023-12-02 13:12:01 25 4
gpt4 key购买 nike

我最近开始更新到 okhttp3 到 4.x

这样做我得到以下构建时间错误:
Using 'url(): HttpUrl' is an error. moved to val
当我尝试从通过调用获得的请求对象中获取 url 时,问题正在发生:

例如

   call.enque(callback : Callback){
override fun onFailure(call : Call, t:Throwable) {
val url = call.request().url().toString
}
}

我进一步抬头,发现 Url Request 内的对象现在是 val aka final。

此外,他们的升级指南中没有说明 https://square.github.io/okhttp/upgrading_to_okhttp_4/

我将不胜感激有关获取 URL 的另一种方式的任何建议。

最佳答案

Using 'url(): HttpUrl' is an error. moved to val


这意味着您应该更改函数调用 url()访问属性 url .

okhttp 4 自带 replaceWith弃用注释中的参数,例如Android Studio 通过右键单击/alt-enter 自动提供该修复:
@Deprecated(
message = "moved to val",
replaceWith = ReplaceWith(expression = "url"),
level = DeprecationLevel.ERROR)

来自评论:

Upon further investigation I found out that the request() or Request object is from Retrofit 2. And Retrofit 2 returns call object from okhttp3



这是 Android Studio 的问题。您可以通过显式转换为 okhttp 4 类型来解决它,例如 (call.request() as Request).url .

关于android - OkHttp 4.x 尝试通过调用请求访问 url 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60235314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com