【问题标题】:how to use the new extension functions in okhttp 4如何在 okhttp 4 中使用新的扩展功能
【发布时间】:2019-12-11 19:39:40
【问题描述】:

您好,从 okHttp 版本 3 升级到版本 4 时出现此编译错误:

val JSON = MediaType.parse("application/json; charset=utf-8")
//Compile Error: Kotlin: Using 'parse(String): MediaType?' is an error. moved to extension function

我将调用更改为调用扩展方法作为错误点,但该方法未被识别为字符串扩展。

这是我所做的更改:

val JSON = "application/json; charset=utf-8".toMediaType()

添加 tutorial 中发布的伴随对象的导入也没有解决它:

import okhttp3.CipherSuite.Companion.forJavaName

我错过了什么?

【问题讨论】:

  • 这些扩展功能的添加简直是可怕的。为什么每个 String 都应该被认为是一个潜在的 URL,每个 ByteArray 都是一个潜在的 HTTP 响应?

标签: kotlin okhttp okhttp3 kotlin-extension


【解决方案1】:
import okhttp3.MediaType.Companion.toMediaType

【讨论】:

  • 有自动导入吗?我必须一直填写吗?
  • 这就是问题所在。 CTRL + Enter 不会为你做这件事。
  • 这是由于 Kotlin IntelliJ 插件中的一个错误:youtrack.jetbrains.com/issue/KT-15286 应该在 1.3.70 中修复
  • 这在 okhttp 文档中找不到,真是太疯狂了,我真的在他们的食谱页面上摸不着头脑。谢谢。
猜你喜欢
  • 1970-01-01
  • 2019-05-06
  • 2020-02-05
  • 2018-02-12
  • 2016-04-13
  • 1970-01-01
  • 2014-02-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多