问题标签 [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.

0 投票
5 回答
6425 浏览

json - Ktor:如何验证 JSON 请求?

我已经知道如何接收 JSON 对象并自动将其反序列化为所需的格式(例如,使用数据类)。另请看这里:如何在 Ktor 中接收 JSON 对象?

我现在的问题是我想验证 JSON 请求并BadRequest在它不是所需格式时返回,类似于 Django:https ://stackoverflow.com/a/44085405/5005715

我如何在 Ktor/Kotlin 中做到这一点?不幸的是,我在文档中找不到解决方案。此外,必填/可选字段会很好。

0 投票
1 回答
587 浏览

ios - 链接 ktor 和 kotlinx.coroutines 会导致未定义的符号

我正在尝试将我的 Kotlin/Native 项目链接为 iOS 框架。Kotlin 代码编译得很好,但是当链接器运行时,我收到以下错误:

我曾尝试将平台从更改为iosX64iosArm64但会导致相同的错误。这是我的 gradle 文件供参考,以防我缺少依赖项。

任何帮助将不胜感激,谢谢!

0 投票
1 回答
374 浏览

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,但我得到了同样的异常。

0 投票
1 回答
1482 浏览

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,但现在得到了关注

0 投票
2 回答
6993 浏览

javascript - ktor cors 标头中的 Access-Control-Allow-Origin 问题

我正在使用 ktor 和使用 cors 构建一个简单的 REST API,但是当我发送一个没有标头数据的简单 get 请求时,服务器工作正常,但是如果我希望客户端说 key:1,服务器没有正确响应我,它说问题是

所以这是我的 ktor 代码

我的javascript代码看起来像这样......

请帮我

0 投票
2 回答
1667 浏览

kotlin - 如何使用 Koin 依赖注入 (Kotlin) 检索与给定类型匹配的所有实例

如何使用 Koin DI 实现以下目标:

在我想要注入所有验证器的类中,我使用以下内容:

期望IValidator自动注入所有不同的接口实现。

我知道这实际上在 Kodein 中得到支持,您只需执行以下操作:

val validators: List<IValidator> by kodein.allInstances()

很想知道这在 Koin 中是否可行。

谢谢!

0 投票
1 回答
1460 浏览

kotlin - 如果路由参数无效,则在 Ktor 位置捕获异常

我是科特林世界的新手。所以我有一些问题。我正在使用 ktor 框架并尝试使用 ktor-locations ( https://ktor.io/servers/features/locations.html#route-classes ) 作为示例

一切都很好,当我尝试获取/show/1 但如果路线/show/test存在NumberFormatException,则DefaultConversionService尝试将 id 转换为 Int 并且无法做到。所以我的问题是,我怎样才能捕捉到这个异常并返回带有一些错误数据的 Json。例如,如果不使用位置,我可以像这样执行 smt

谢谢帮助!

0 投票
1 回答
736 浏览

kotlin - 未调用 ktor 中的应用程序级事件

我目前正在使用 Netty 在 ktor 中尝试应用程序事件。然而,唯一被调用的钩子是“ApplicationStarted”。我在这里做错了什么?

我在所有函数中设置了断点,正在进行订阅,但并非所有事件侦听器都被调用。我也试图在 ktor 文档中找到一些解释,但没有成功。

“应用程序已启动”出现在日志消息中,但没有其他输出。

我做得有多糟糕,或者这是一个错误?

0 投票
0 回答
206 浏览

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 使构建能够编译,但这不是一个长期的解决方案。但是,稍微缩小了问题范围!(但仍然很混乱)

0 投票
2 回答
7399 浏览

kotlin - 处理 HttpClient Ktor 中的异常

我在下面的通用模块中编写了通用代码并在JS环境中进行了测试

但是我的代码以 client.post 结尾,并在没有网络上取消了 corutineException。我该如何处理这个和任何其他异常?如果有互联网连接。没有什么失败,我希望能够处理异常。如何?

注意:try,catch 不起作用