# KtorLearn **Repository Path**: devhu/KtorLearn ## Basic Information - **Project Name**: KtorLearn - **Description**: Learn Ktor - **Primary Language**: Kotlin - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2018-09-24 - **Last Updated**: 2022-06-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### Kotlin 官方原生web框架Ktor学习 ![](src/main/resources/static/logo.png) >由于最近接到任务需要做个简单的后台应用,打算用`Kotlin`来做,但是在WEB框架选用上有点犹豫Spring 全家桶虽然好用但是`Sping Boot`毕竟不是Kotlin原生的框架,出于技术调研的目的趁放假特地花了两天时间学习下Kotlin 官方原生web框架Ktor的使用。 主要是参考了官方文档和官方提供的示例Demo。 - [快速入门:http://ktor.io/quickstart/index.html](http://ktor.io/quickstart/index.html) - [服务端部分:http://ktor.io/servers/index.html](http://ktor.io/servers/index.html) - [官方示例:https://github.com/ktorio/ktor-samples](https://github.com/ktorio/ktor-samples) 无论是官方文档还示例都十分详细,真的很赞,不愧是官方出,而且`Ktor`不止用于服务端应用,使用`Kotlin`不妨一试。 本项目主要作为这两天学习调研的记录整个学习过程,虽然`Ktor`不止用于服务端应用,但是针对我的需求我只刷完了`Server`部分的文档。为了方便以后查看,`commit msg` 写的都很详细。 包括以下内容: - 简单示例 - 路由、模块拆分 - 添加外部配置文件,添加发布打包工具,打包成JAR运行 - 配置日志,输出日志到本地文件 - 添加Gson响应JSON请求 - 添加模板配置(freemarker)配置静态文件路径 - 添加了简单测试 以上基本上包括了所有基础功能的应用了,当然`Ktor`还包括很多高级特性,这里没有一一去试了,只是看了文档,不得不说`Ktor`真的十分简单易用,同时也很强大。 TODO: - 添加数据库DSL工具或ORM框架配置数据库,实现`api → database`之间的数据交互 - 添加复杂的测试用例和用法,学习[mockk](https://mockk.io)的使用 官方示例中有几个完整的项目实例,以上两点待看完项目实例另行补充。