问题标签 [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.
kotlin - Ktor 快速启动 HTTP API - 错误应用程序 - 未处理:GET - /snippets
我是 Ktor 的新手,我目前正在使用快速启动http api,但我收到错误:
错误应用程序 - 未处理:GET - /snippets com.fasterxml.jackson.databind.JsonMappingException:kotlin.reflect.jvm.internal.KClassImpl 无法转换为 kotlin.reflect.jvm.internal.KClassImpl(通过引用链:java.util. Collections$Singleton Map["snippets"]->java.util.ArrayList[0])
代码:
如果我改用这个:
它返回:
但现在它使用的是 toString() 而不是 toList(),知道如何让它像使用 toList() 的快速入门一样工作吗?
tomcat - Ktor 和远程 tomcat 部署
有人在远程 Tomcat 服务器上成功部署了 Ktor 项目吗?
我正在做一个项目,当我在本地部署中尝试测试一切都很好,但是当我尝试生成 .war 并部署在我的远程 tomcat 服务器上时,我在尝试访问 servlet 时总是得到 404。
部署似乎没问题,一切正常,但我无法与我的 servlet 通信。
我已经阅读了很多指南,但所有人都在本地尝试过。
问候
android - 多平台项目的 ios 模块中未解决 ktor 依赖项
我有一个针对 iOS 和 Android 的 kotlin-multiplatform 项目。Ktor http 客户端用于通用模块。
一切都适用于 Android 应用程序。但是在使用 iOS lib 构建项目时,我收到以下异常:
...和其他的,说没有一个 ktor 依赖项得到解决。
这是 build.gradle:
以下是来自 common 模块的文件代码,它会产生错误:
kotlin - Ktor:无法解析 JacksonSerializer
我正在尝试在 Kotlin Multiplatform 项目的 commonMain 模块中设置 ktor http 客户端(如此处所述https://ktor.io/clients/http-client/features/json-feature.html),但无法解析对它的依赖:
摇篮版本:4.7。
这是通用模块的 build.gradle:
kotlin - ktor 与 kotlinx 序列化:如何使用 JSON.nonstrict
我正在尝试初始化 Ktor http 客户端并设置 json 序列化。我需要允许JSON.nonstrict对象允许的非严格反序列化。只是不知道如何将此设置应用于序列化程序。
rest - 使用 Kotlin 协程的 Guava LoadingCache
我正在使用 GuavaLoading Cache
来缓存 HTTP 请求的结果。Kotlin/KTOR 提供了一个基于协程(即非阻塞 HTTP 请求)的HTTP 客户端库。
我的问题是加载缓存不知道suspend
ing 函数。load
我传递给加载缓存的函数无法挂起。所以我被迫在runBlocking
调用中执行 HTTP 请求,完全消除了非阻塞调用的好处。
我的问题是:有没有更好的方法?你将如何实现协程结果的缓存?
google-app-engine - Ktor App 部署到 AppEngine 时未调用 Main 方法
问题
Ktor 应用程序的main方法在部署到 AppEngine 时不会被调用。应用程序的主要方法是基于Timer从 API 请求中检索内容并将该信息保存到客户端使用的 Firestore 数据库的逻辑。
此逻辑当前在将Jar部署到 AppEngine 时有效。但是,如果需要端点,使用Ktor实现这一点将节省部署时间并有助于将来证明后端服务。
预期的
一旦将应用程序部署到 AppEngine,就会调用Ktor 应用程序的main方法,类似于在 IntelliJ 中运行应用程序的 main 方法时的调用方式。
实际的
仅在调用应用程序的托管路由后才调用main方法。
IE:https://[yourProjectName].appspot.com
设置
主要方法
构建.gradle
src/main/resources/application.conf
src/main/webapp/WEB-INF/
appengine-web.xml
web.xml
kotlin - 如何在 WebUI 中渲染 StreamObserver (ktor + freemarker)
如何在 freemarker 中处理 StreamObserver 的输出?我有以下控制器代码以便订阅流频道。
观察者在这里声明:
kotlin - 在 Ktor 中发送 application/x-www-form-urlencoded
我不知道如何application/x-www-form-urlencoded
POST
在 Ktor 中发送请求。我submitForm
在 Ktor 的文档中看到了一些助手,但他们没有按预期发送请求。
我想要的是复制这种卷曲线行为:
我的依赖是io.ktor:ktor-client-cio:1.0.0
.
kotlin - 使用 ktor 将文件上传到电报 bot api
我正在使用kotlin
和ktor为 telegram-bot-api 编写包装器。我有一个问题 - 找不到上传文件的工作方式。
(来自 tg bot api docs)
发送文件(照片、贴纸、音频、媒体等)的三种方式:
- 如果文件已经存储在 Telegram 服务器的某个位置,则无需重新上传:每个文件对象都有一个 file_id 字段,只需将此 file_id 作为参数传递,而不是上传。以这种方式发送的文件没有限制。
- 为 Telegram 提供要发送的文件的 HTTP URL。Telegram 将下载并发送文件。照片的最大大小为 5 MB,其他类型的内容最大为 20 MB。
- 使用 multipart/form-data 以通常通过浏览器上传文件的方式发布文件。照片最大 10 MB,其他文件最大 50 MB。
使用第一种和第二种方式我没有任何问题。
现在我有一个丑陋的函数,它向 tg 发出请求并解析答案:
没有文件它可以工作,有文件 - 它不会。(我认为我做错了一切)
使用示例:
我已经在不同的文件上对其进行了测试,我发现:
如果我在之间发送文件
17,9 KiB
并且56,6 KiB
我从 tg 得到以下错误:Bad Request: wrong URL host
如果我在两者之间发送文件
75,6 KiB
并且913,2 KiB
我收到错误413 Request Entity Too Large
* 我正在使用sendDocument
方法
使用 发送文件的真正方法是什么ktor
?