【问题标题】:Ktor: cannot resolve JacksonSerializerKtor:无法解析 JacksonSerializer
【发布时间】:2019-05-01 09:47:16
【问题描述】:

我正在尝试在 Kotlin Multiplatform 项目的 commonMain 模块中设置 ktor http 客户端(如此处所述 https://ktor.io/clients/http-client/features/json-feature.html),但无法解析对它的依赖:

    val client = HttpClient {
        install(JsonFeature) {
            serializer = JacksonSerializer()
        }
    }

Gradle 版本:4.7。

这里是通用模块的 build.gradle:

apply plugin: 'kotlin-multiplatform'
apply plugin: 'kotlinx-serialization'

    kotlin {
        targets {
            // Change to `presets.iosArm64` to deploy the app to iPhone
            fromPreset(presets.iosX64, 'ios') {
                compilations.main.outputKinds('FRAMEWORK')
            }
        }
        sourceSets {
            commonMain.dependencies {
                implementation 'org.jetbrains.kotlin:kotlin-stdlib'
                implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core-common:$coroutines_version"
                implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-common:$serialization_version"

                implementation "io.ktor:ktor-client-core:$ktor_version"
                implementation "io.ktor:ktor-client-json:$ktor_version"
                implementation "io.ktor:ktor-client-jackson:$ktor_version"
            }
            commonTest {
                dependencies {
                    implementation "org.jetbrains.kotlin:kotlin-test-common"
                    implementation "org.jetbrains.kotlin:kotlin-test-annotations-common"
                }
            }
            iosMain {
                dependencies {
                    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core-native:$coroutines_version"
                    implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-native:$serialization_version"

                    implementation "io.ktor:ktor-client-ios:$ktor_version"
                    implementation "io.ktor:ktor-client-core-ios:$ktor_version"
                    implementation "io.ktor:ktor-client-json-ios:$ktor_version"
                }
            }
        }
    }

【问题讨论】:

    标签: kotlin ktor kotlin-native kotlin-multiplatform


    【解决方案1】:

    您不能在 ios 上使用 jackson,因为它是 JVM 特定的。在 ios 上只有 Kotlinx.serialization 有效。

    【讨论】:

      猜你喜欢
      • 2021-12-21
      • 2021-02-08
      • 2021-07-16
      • 2020-10-26
      • 1970-01-01
      • 2020-06-23
      • 2019-05-10
      • 1970-01-01
      • 2020-10-24
      相关资源
      最近更新 更多