2021-09-15 14:33:15 E/Mirai HTTP API: java.lang.NoSuchMethodError: 'double kotlin.time.DurationKt.toDuration...(int, java.util.concurrent.TimeUnit)' java.lang.NoSuchMethodError: 'double kotlin.time.DurationKt.toDuration...$Feature.install(CORS.kt:517) at io.ktor.features.CORS$Feature.install(CORS.kt:509) at...(ApplicationEngineEnvironmentReloading.kt:270) at io.ktor.server.cio.CIOApplicationEngine$serverJob...$1$1.invokeSuspend(CIOApplicationEngine.kt:53) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith
Ktor 介绍 Ktor 是一个高性能的、基于 Kotlin 的 Web 开发框架,支持 Kotlin Coroutines、DSL 等特性。...Ktor 是一个由 Kotlin 团队打造的 Web 框架,可用于创建异步、高性能和轻量级的 Web 服务器,并使用 Kotlin 惯用的 API 构建非阻塞的多平台 Web 客户端。....x,因为 Ktor 底层会依赖到 Kotlin Coroutines。...目前,Ktor 支持 Netty、Jetty、Tomcat、CIO(Coroutine I/O) 作为服务器引擎。(当然,也支持创建自己的引擎并为其提供自定义配置。)...module 是一个开发者定义的函数,它用于接收 Application 类(该类负责配置服务器管道,安装功能,注册路由,处理请求等)。
同时Kotlin也表示将在2023年发布KMM的稳定版本。 届时Compose-jb + KMM 将实现Kotlin全平台。...这里我们仍然使用「wandroid」中的每日一问接口 :https://wanandroid.com/wenda/list/1/json DemoReqData与之前系列的实体类是一样的,这里就不重复展示了...创建接口地址类,代码如下所示。...object Api { val dataApi = "https://wanandroid.com/wenda/list/1/json" } 创建HttpUtil类,用于创建HttpClient...所以,你觉得距离Kotlin一统“江山”的日子还会远吗?
由于KMM还不是特别的成熟,所以建议开发者将Kotlin插件也升级到最新版本,避免出现一些兼容性问题。...首先我们将用到依赖添加进来,这里主要有Kotlin协程、序列化(Ktor使用要求)、和Ktor,Ktor是一个可以用于HTTP请求的网络框架,如果读者不熟悉的话可自行查看。代码如下所示。 ...添加接口 这里我们仍然使用「wandroid」中的每日一问接口 :https://wanandroid.com/wenda/list/1/json 与在Compose中使用Paging分页库使用的接口和实体类是一样的...创建接口地址类,代码如下所示。...object Api { val dataApi = "https://wanandroid.com/wenda/list/1/json" } 创建HttpUtil类,用于创建HttpClient
前言 在 Java 和 Kotlin 中, 除了使用Spring Boot创建微服务外,还有很多其他的替代方案。...以下代码示例,是包含 main 方法的类。为了实现依赖注入,该类继承自KoinComponent。...Ktor服务 该框架是为 Kotlin 编写和设计的。...构建脚本配置如下: plugins { ......因此,在 Helidon 和 Ktor 服务中, 我使用了Java类库方式的Consul 客户端。
Ktor Kotlin Micronaut Groovy、Java、Kotlin Quarkus Java、Kotlin、Scala Spring Boot Groovy、Java、Kotlin Helidon...以下代码示例,是包含 main 方法的类。为了实现依赖注入,该类继承自KoinComponent。...Ktor服务 该框架是为 Kotlin 编写和设计的。...构建脚本配置如下: plugins { ... ...因此,在 Helidon 和 Ktor 服务中, 我使用了Java类库方式的Consul 客户端。
Ktor是使用Kotlin语言编写的,充分利用了Kotlin的协程特性来简化异步编程。本文将深入探讨Ktor库的高级用法,特别是代理服务器的配置和JSON数据的处理。...以下是一个配置代理服务器的基本示例:import io.ktor.client.*import io.ktor.client.features.json....api.example.com/user") println("Received user: ${response.name}, ${response.age}")}在上面的代码中,我们首先定义了一个User数据类,...import io.ktor.client.*import io.ktor.client.features.json....println("Received user: ${response.name}, ${response.age}") client.close()}在这个综合示例中,我们首先定义了User数据类,
自行定义 pom.version = '1.0.0' //version 版本号 } } 引入插件时候,报错Unable to load class ‘xxxx’,解压后发现写的类都没有被打包进去...,这个插件类是使用kotlin写的 之前把代码放在java或者groovy文件夹下,都没生效 最后发现,如果用kotlin写的代码,必须放在kotlin文件夹下,并使用kotlin插件 apply...plugin: 'kotlin'
以下代码示例,是包含 main 方法的类。为了实现依赖注入,该类继承自KoinComponent。...Ktor服务 该框架是为 Kotlin 编写和设计的。...构建脚本配置如下: plugins { ... ...因此,在 Helidon 和 Ktor 服务中, 我使用了Java类库方式的Consul 客户端。...2、服务的端口在 Scala 脚本中指定。 3、通过负载测试意味着微服务已经响应了所有时间的所有请求。 图片 需要注意的是,所有微服务都使用 Netty HTTP 服务器。
类 类的横向分类 抽象类 接口类 枚举类 注解类 静态类与伴生对象 sealed 密封类 sealed class SuperEnum { class Human(val race: String)...12.3 使用Kotlin的Web框架Ktor开发Web应用 Ktor is a framework for quickly creating web applications in Kotlin with...minimal effort. import org.jetbrains.ktor.netty.* import org.jetbrains.ktor.routing.* import org.jetbrains.ktor.application....* import org.jetbrains.ktor.host.* import org.jetbrains.ktor.http.* import org.jetbrains.ktor.response..., ContentType.Text.Html) } } }.start(wait = true) } https://github.com/Kotlin/ktor/wiki 12.4 基于Kotlin
Kotlin 1.3-RC 发布了,这将是 1.3 之前的最后一个预览版本。...这个版本修复了绝大多数的新功能相关的关键 bug,除此之外,还有一些其他的更新值得一提: Ktor 的 API 已经完善,期待大家的使用体验和反馈。...Ktor 是一个基于协程的框架,使用它我们可以优雅的构建 Web 应用、Http 服务、移动应用和网页。 所有的新项目都已经采用官方代码规范 ,我们也非常鼓励大家也这样做。...1.2.50 引进的对脚本的支持如今也得到了更新和完善。 kotlinx.serialization 的插件已经合入 Kotlin 主工程,并且被集成到编译器插件当中。
关键词:Kotlin-Native 一直想写点儿 Kotlin-Native 相关的话题,今天开始~ 尴尬的 Kotlin-Native ?...不仅如此,Kotlin-Native 现在的开发体验已经比以前强太多了,标准库虽然还比较小,不过至少基本的集合框架类都是有的,字符串之类的支持也都是有的。...幸运的是 Gradle 也支持 Kotlin 脚本,所以我们不必再忍受 Groovy 的动态特性的摧残。 Kotlin-Native 组件的发布逻辑。...Ktor 上 CIO 对 Kotlin-Native 的支持。...目前这个特性还在开发中,CIO 已经对 JVM 做了支持,我也在《深入理解 Kotlin 协程》当中稍微做了介绍,不过跨平台版本应该很值得期待。 其他。。。
iOS sdkframework层:Kotlin/Native构建一个framework时,产物是二进制,也包含了Kotlin/Native的基础库、Runtime,会使包大小增加1M+左右,而且多个Kotlin...当然如果依赖了一些库如ktor网络库,包也会变大,避免这个问题也可以不用依赖ktor,直接依赖现有的网络库来实现一个KMM SDK。...并定义expect ALogImpl类来实现平台特性打印日志 interface IALog { fun v(tag: String, message: String) ... } expect...第1种方案比较灵活,版本号可以写脚本控制,但是要求开发人员使用的电脑都要配置KMM开发环境。...sdkframework.h头文件中,这样iosApp才可以使用这几个模块的类和方法。
实现一个网络请求功能 在 Kotlin 跨平台开发入门 中我们借用「wanandroid」中「每日一问」接口实现了一个网络请求,现在我们将这部分功能移植到Desktop程序中,网络请求框架仍然使用Ktor...:ktor-client-core:$ktorVersion") implementation("io.ktor:ktor-client-content-negotiation:$ktorVersion...//wanandroid.com/wenda/list/1/json" } 创建HttpUtil类,用于创建HttpClient对象和获取数据的方法,代码如下所示。...import io.ktor.client.* import io.ktor.client.call.* import io.ktor.client.plugins.contentnegotiation...httpClient.get(Api.dataApi).body() return "${rockets.data} " } } DemoReqData是接口返回数据对应映射的实体类,
这里添加网络请求库Ktor和序列化的依赖,因为是Kotlin跨平台嘛,Ktor是Kotlin推出的网络请求库,所以肯定使用Ktor是最佳选择。...这段代码呢,就是Ktor这个网络请求框架的基本用法,我们不做过多解释,在这里我们定义了一个getData方法,用于获取「鸿洋」大佬「wandroid」中的「每日一问数据」。...社区对KMM的支持 目前官方许多库都已经支持了跨平台,比如我们刚刚使用的网络请求框架Ktor、依赖注入Koin还有序列化组件等。...expect与actual 我们要依赖Kotlin中的expect与actual关键字。expect是我们期望实现的方式,actual是实现方式,有点类似接口与实现类。...好在Kotlin在1.8.20版本中推出了Kotlin/Wasm,最新的Compose for Web 是基于Kotlin/Wasm的,当前处于试验阶段。
image 今天,Kotlin 官方博客正式发布了 Kotlin 1.3,还附带了一些开源库、构建工具和学习资源。...在这次更新中,协程(Coroutines)特性已经稳定,它使得非阻塞代码易于读写,Kotlin 1.3 还带来了 Kotlin / Native Beta,它可将 Kotlin 代码直接编译为本机二进制文件...详情请阅读:https://kotlinlang.org/docs/reference/multiplatform.html 其他特性 • 支持内联类( inline classes) •...支持无符号整型 • 支持 Kotlin/JS 增量编译 • 标准库支持扩展到 Kotlin / Native等 What’s new in Kotlin 1.3 Kotlin 1.3’s contracts...Ktor 1.0 Beta Ktor is a connected applications framework.
谷歌在今年的 I/O 大会上宣布,Kotlin 编程语言现在是 Android 应用程序开发人员的首选语言(谷歌宣布 Kotlin 成为安卓开发首选)。...我们来回顾下 1.3的 新特性 稳定的协程 Kotlin/Native Beta 多平台项目和工具 用于 Kotlin/Native 和多平台的工具 Ktor 1.0 Beta 本次版本带来的牛逼特性主要对...Kotlin/Native Kotlin/Native 支持的目标平台有: Windows 32 位(mingw_x86)。...现在也可以使用命令行参数 -Xstatic-framework 或者以下 Gradle 脚本来构建静态库: 需要注意的一点,现阶段官方表示拉取和编译这些依赖仍然需要一个 Xcode 工程。...在调试 Kotlin 代码时,可以选择 “Kotlin” 模式来查看变量。
Spring Framework Spring Framework 6.0.4发布,新特性包括:为MockMvc类和ResultActions接口中定义的andExpectAll()方法添加 Kotlin...类的工厂方法添加一个标题,以满足可访问性要求。...ExcludeFromGeneratedCodeCoverage,以取代现有的@Generated注解,显式添加该注解的地方会跳过代码覆盖率检查;重构用于 Spring Boot 的generate.sh脚本...//www.infoq.cn/article/wAHZc2d8AYKScTgeM3Av ) Java 近期新闻:Helidon 4.0-Alpha4、Spring、GlassFish、Quarkus、Ktor...Kotlin 推出新功能:无需同时了解 Kotlin 和 JavaScript
也可以只尝试 Demo,执行: curl -s https://archguard.org/install.sh | bash -s master (这脚本看上去好像不支持 Windows)。...而诸如于 Mermaid、Graphviz 这一类的图即代码(diagram as code),它们在两者提供了一个很好的平衡(只针对于程序员)。...对于我们来说,有两个选择: Kotlin 语言自带的试验性功能:Kotlin Scripting 提供了一种无需事先编译或打包成可执行文件即可将 Kotlin 代码作为脚本执行的技术。...只需要编写一些类 ProseMirror 插件,不需要编写大量的 markdown 相关的处理功能。...与 Ktor 的 DSL 设计与实现相比,ArchGuard DSL 显得没有任何设计。 DSL 语法设计。还未完成开始。 动态前端组件。 更智能的编辑器支持。诸如于智能感知、自动填充等。
抽象类 7.2.1.2 接口 7.2.1.3 枚举 7.2.1.4 注解 7.2.1.5 静态类与伴生对象 7.2.1.6 sealed 密封类 7.2.1.7 data 数据类 7.2.1.8...嵌套类Nested Class 7.2.1.9 内部类Inner Class 7.2.1.10 匿名内部类Inner Class 7.2.2 声明类 7.2.3 类修饰符 7.2.4 构造函数...7.2.4.1 主构造函数 7.2.4.2 次构造函数 7.2.5 类的属性(数据结构) 7.2.6 类的行为(算法函数) 7.2.7 接口与抽象类 7.2.8 接口的默认实现 7.2.9...object 9.3.5 包级别函数 9.3.6 重载必须使用override 第10章 集合类与泛型 10.1 Kotlin集合类 10.1.1 不可变集合类 10.1.1.1 List...框架Ktor开发Web应用 12.4 基于Kotlin Script的模板引擎 第13章 使用Kotlin实现DSL 13.1 领域特定语言DSL 13.2 Groovy的DSL语法 13.3 Kotlin
领取专属 10元无门槛券
手把手带您无忧上云