如何在okhttp 4中使用新的扩展功能

Mig*_*Slv 5 kotlin okhttp kotlin-extension okhttp3

从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
Run Code Online (Sandbox Code Playgroud)

我更改了将扩展方法作为错误点的调用,但该方法未被识别为String扩展。

这是我的更改方式:

val JSON = "application/json; charset=utf-8".toMediaType()
Run Code Online (Sandbox Code Playgroud)

教程中所述,为Companion对象添加导入也无法解决该问题:

import okhttp3.CipherSuite.Companion.forJavaName
Run Code Online (Sandbox Code Playgroud)

我在这里想念什么?

Mig*_*Slv 14

import okhttp3.MediaType.Companion.toMediaType
Run Code Online (Sandbox Code Playgroud)

  • 那就是问题所在。CTRL + Enter 不会为你做这件事。 (2认同)
  • 这是由于 Kotlin IntelliJ 插件中的错误造成的:https://youtrack.jetbrains.com/issue/KT-15286 应该在 1.3.70 中修复 (2认同)