首页 > 解决方案 > Ktor 中抛出的奇怪异常

问题描述

今天我在 Ktor 中遇到了一个奇怪的状态页面异常。

我正在尝试用 ktor 构建一个简单的 api,我做了这条路线:

fun Route.phrase(db : Repository){
post(PHRASE_ENDPOINT){
    val request = call.receive<Request>()
    val phrase = db.add(EmojiPhrase(request.toString(), request.toString()))
    this.call.respond(phrase)
   }}

当我尝试发送请求时,我得到 java.lang.ClassNotFoundException: kotlinx.coroutines.io.ByteReadChannel

有没有人遇到过这个问题

我在用着 :

    ktor_version=1.3.2, 
    kotlin_version=1.4.10, 
    moshi_version= 1.0.1

标签: kotlinktor

解决方案


问题似乎在 moshi 转换器中:https ://github.com/rharter/ktor-moshi/issues/7#issuecomment-580977097

直到 PR 被合并后,都可以通过 jitpack 使用打补丁的版本

buildscript {
    repositories {
        jcenter()
        maven { url 'https://jitpack.io' }
    }
}
dependencies {
    implementation 'com.github.cs125-illinois:ktor-moshi:7252ca49ed'
}

推荐阅读