Kotlin 中的 Okhttp3,String.mediaType() 不起作用
Posted
技术标签:
【中文标题】Kotlin 中的 Okhttp3,String.mediaType() 不起作用【英文标题】:Okhttp3 in Kotlin, String.mediaType() does not work 【发布时间】:2019-12-12 22:38:45 【问题描述】:这是我正在尝试执行的代码,但它不起作用。
val JSON = String.format("application/json; charset=utf-8").toMediaType()
(headers as Map<String, String>).toHeaders()
我确实导入了:import okhttp3.MediaType
我需要做什么才能使其识别 toMediaType 和 toHeaders 方法?
【问题讨论】:
你为什么要打电话给String.format
?好像没必要
我的实际代码中没有。但是试图找出它为什么不能识别 .toMediaType,我试着看看它是否有帮助。对 kotlin 还是有点了解,好吧,尝试了 val JSON : String
和另一个,不知道我需要导入同伴,但现在我知道了
【参考方案1】:
扩展函数在伴随对象中:
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.Headers.Companion.toHeaders
【讨论】:
【参考方案2】:将导入添加到我的 gradle 文件以强制版本 4.7.2 解决了它
implementation "com.squareup.okhttp3:okhttp:4.7.2"
【讨论】:
以上是关于Kotlin 中的 Okhttp3,String.mediaType() 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
尝试创建 OkHttpClient 对象时出现 kotlin/TypeCastException
无法解析方法'create(okhttp3.MediaType, java.util.List<java.lang.String>)'
如何解决公共抽象乐趣入队的参数过多(responseCallback:Callback):okhttp3.Call中定义的单位