使用 Kotlin 和 Ktor 构建一个异步、高性能的 URL 缩短服务。利用 Kotlin 协程处理高并发请求,提供 API 将长 URL 转换为短 URL,并通过短 URL 重定向。
POST /shorten
{ "url": "..." }{ "short_url": "http://domain.com/hash" }GET /{hash}
POST /shorten 时可选 custom_alias 字段。GET /stats/{hash} - 返回原始 URL、创建时间和点击次数。Exposed (SQL) 或 KMongo (MongoDB)kotlinx.serialization/ktor-url-shortener
└── src/main/kotlin/com/example/
├── Application.kt # Ktor 主入口和模块配置
├── plugins/ # 插件配置 (Serialization, Routing)
├── routing/ # 路由定义
├── services/ # 业务逻辑
├── dao/ # 数据访问对象
└── models/ # 数据模型
Exposed 或迁移工具设置表结构。suspend 函数(如 findByHash, saveMapping)。/shorten 和 /{hash} 的 API 路由,调用 Service 完成操作。ContentNegotiation 和 Routing 插件。StatusPages 插件捕获异常并返回合适的 HTTP 状态。testApplication 工具编写 API 集成测试。先行任务: 研究并确定短哈希生成算法,并设计出数据库表的具体结构。