问题标签 [ktor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json - Ktor:如何验证 JSON 请求?
我已经知道如何接收 JSON 对象并自动将其反序列化为所需的格式(例如,使用数据类)。另请看这里:如何在 Ktor 中接收 JSON 对象?
我现在的问题是我想验证 JSON 请求并BadRequest
在它不是所需格式时返回,类似于 Django:https ://stackoverflow.com/a/44085405/5005715
我如何在 Ktor/Kotlin 中做到这一点?不幸的是,我在文档中找不到解决方案。此外,必填/可选字段会很好。
ios - 链接 ktor 和 kotlinx.coroutines 会导致未定义的符号
我正在尝试将我的 Kotlin/Native 项目链接为 iOS 框架。Kotlin 代码编译得很好,但是当链接器运行时,我收到以下错误:
我曾尝试将平台从更改为iosX64
,iosArm64
但会导致相同的错误。这是我的 gradle 文件供参考,以防我缺少依赖项。
任何帮助将不胜感激,谢谢!
kotlin - 运行 fat jar 的 ktor 抛出 java.lang.UnsupportedOperationException::Kotlin 反射中尚不支持包和文件外观
下面是从 IDE 正常运行的基本 ktor 文件,但我使用“mvn install”创建了一个胖 jar 文件并运行它会引发以下异常:
线程“主”java.lang.UnsupportedOperationException 中的异常:Kotlin 反射尚不支持包和文件外观。同时请使用Java反射检查这个类:class com.tech.ApplicationKt
我尝试在 Java 11 和 8 上执行 jar,但我得到了同样的异常。
kotlin - 带有 iOS 的 Kotlin Multiplatform:“使用未声明的类型 'KotlinCoroutineContext'”
我正在尝试在 iOS 上使用 Kotlin 多平台代码(使用 Ktor 和 Kotlin 协程)。该框架已正确生成,并且可以毫无问题地调用一些公开的类/方法。但是,如果我尝试添加以下内容(例如在https://github.com/JetBrains/kotlinconf-app/blob/master/konfios/konfswift/ui/UI.swift中所做的)。我得到“使用未声明的类型'KotlinCoroutineContext”(我看到SharedCode.h
它不存在)
共享代码的 gradle 文件包括以下内容(我使用 Kotlin 1.3.11、Ktor 1.0.1 和 Coroutines 1.0.1 以及 Gradle 4.7)
我怀疑这个问题可能是这些符号没有明确暴露(也尝试使用api
而不是implementation
协程依赖项,但这没有帮助)。
这就是我到目前为止所拥有的:https ://github.com/joreilly/galway-bus-android/tree/kotlin_native
更新:
尝试了新发布的 Kotlin v1.3.20,但现在得到了关注
javascript - ktor cors 标头中的 Access-Control-Allow-Origin 问题
我正在使用 ktor 和使用 cors 构建一个简单的 REST API,但是当我发送一个没有标头数据的简单 get 请求时,服务器工作正常,但是如果我希望客户端说 key:1,服务器没有正确响应我,它说问题是
所以这是我的 ktor 代码
我的javascript代码看起来像这样......
请帮我
kotlin - 如何使用 Koin 依赖注入 (Kotlin) 检索与给定类型匹配的所有实例
如何使用 Koin DI 实现以下目标:
在我想要注入所有验证器的类中,我使用以下内容:
期望IValidator
自动注入所有不同的接口实现。
我知道这实际上在 Kodein 中得到支持,您只需执行以下操作:
val validators: List<IValidator> by kodein.allInstances()
很想知道这在 Koin 中是否可行。
谢谢!
kotlin - 如果路由参数无效,则在 Ktor 位置捕获异常
我是科特林世界的新手。所以我有一些问题。我正在使用 ktor 框架并尝试使用 ktor-locations ( https://ktor.io/servers/features/locations.html#route-classes ) 作为示例
一切都很好,当我尝试获取/show/1
但如果路线/show/test
存在NumberFormatException
,则DefaultConversionService
尝试将 id 转换为 Int 并且无法做到。所以我的问题是,我怎样才能捕捉到这个异常并返回带有一些错误数据的 Json。例如,如果不使用位置,我可以像这样执行 smt
谢谢帮助!
kotlin - 未调用 ktor 中的应用程序级事件
我目前正在使用 Netty 在 ktor 中尝试应用程序事件。然而,唯一被调用的钩子是“ApplicationStarted”。我在这里做错了什么?
我在所有函数中设置了断点,正在进行订阅,但并非所有事件侦听器都被调用。我也试图在 ktor 文档中找到一些解释,但没有成功。
“应用程序已启动”出现在日志消息中,但没有其他输出。
我做得有多糟糕,或者这是一个错误?
android - 启用了 multidex 的 transformDexArchiveWithDexMergerForDebug 错误
我正在尝试构建一个 Android 项目,并在启用 Multidex 时收到此错误:
Caused by: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':android-simple-host:transformDexArchiveWithDexMergerForDebug'.
这是构建文件:
我做了一个构建扫描,你可以在这里查看(因为项目很大)。
我很困惑为什么在 multiDex 已经启用时会发生这种情况。我最好的猜测是,由于 gradle 依赖链存在某种库冲突,但据我所知,gradle 在默认情况下构建时会删除重复的依赖项,不是吗?
任何帮助,将不胜感激!
编辑:在 gradle.properties 中禁用 Android D8 使构建能够编译,但这不是一个长期的解决方案。但是,稍微缩小了问题范围!(但仍然很混乱)
kotlin - 处理 HttpClient Ktor 中的异常
我在下面的通用模块中编写了通用代码并在JS环境中进行了测试
但是我的代码以 client.post 结尾,并在没有网络上取消了 corutineException。我该如何处理这个和任何其他异常?如果有互联网连接。没有什么失败,我希望能够处理异常。如何?
注意:try,catch 不起作用