我们非常高兴地宣布 Ktor 2.0 现已正式发布。 我们已经在这个版本上工作了大约一年,现在终于可以推出了!
Ktor 2.0 引入了许多新功能,但主要版本的意义是重大变更,它让我们有机会执行一些维护工作并摆脱遗留决策。 尽管存在重大变更,我们也已尽可能降低其影响,并提供了有助于自动迁移的实用工具。 不过,首先来看一下新功能:
Ktor 服务器
简化的可扩展性
我们在构建 Ktor 时始终考虑可扩展性。 Ktor 提供的所有功能均以插件架构构建,“功能”也因此更名为“插件”。 我们遇到的问题是,对于某些人来说,架构模型会难以理解。 在 2.0 中,我们大幅简化了可扩展性 API,使插件更易创建。
看看下面 1.x 的 API 代码
companion object Feature : ApplicationFeature<ApplicationCallPipeline, CustomHeader.Configuration, CustomHeader> {
override val key = AttributeKey<CustomHeader>("CustomPlugin")
override fun install(pipeline: App