大家好,我是程序员柏风,AI 最全的 Vibecoding 学习地图 http://coderoadmap.cn 作者。
综合练习
把语法、空安全、集合、协程与 Spring Boot 串起来,完成一个带协程的 REST API 小项目,并规划下一步学习。
学习目标
- 完成 Spring Boot + Kotlin + 协程 REST API
- 能描述「请求 → Controller → Service → 返回 JSON」的链路
- 知道 Android 与后端 Kotlin 的进阶路线
项目:课时 API(Spring Boot + 协程)
需求:
data class Lesson(slug, title, order)与Track(slug, title, lessons)TrackService用内存Map存储,提供findBySlug、listLessonsTrackController暴露GET /api/tracks/{slug}/lessons,内部用协程模拟 IO 延迟- 返回
List<Lesson>JSON
@RestController
@RequestMapping("/api/tracks")
class TrackController(private val service: TrackService) {
@GetMapping("/{slug}/lessons")
suspend fun listLessons(@PathVariable slug: String): List<Lesson> {
return service.listLessons(slug)
}
}
@Service
class TrackService {
private val store = mapOf(
"kotlin-essentials" to Track(
"kotlin-essentials", "Kotlin 语言入门",
listOf(
Lesson("kt-intro", "Kotlin 是什么", 1),
Lesson("kt-syntax", "基础语法", 2)
)
)
)
suspend fun listLessons(slug: String): List<Lesson> {
kotlinx.coroutines.delay(50) // 模拟 IO
return store[slug]?.lessons ?: emptyList()
}
}
data class Track(val slug: String, val title: String, val lessons: List<Lesson>)
data class Lesson(val slug: String, val title: String, val order: Int)
启动后访问 GET http://localhost:8080/api/tracks/kotlin-essentials/lessons 验证。
项目:Console 版(选做)
不用 Spring,用纯 Kotlin + 协程:
TrackCatalog管理List<Lesson>main用runBlocking并发「加载」多个 track 的 lessons- 打印排序后的课时列表
本 track 与相关课的分工
| 主题 | kotlin-essentials | 其他 |
|---|---|---|
| 语法、空安全、集合 | ✅ 本 track | java-fundamentals 对照 |
| 协程、Flow | ✅ 本 track | 深入见 kotlinx 文档 |
| Spring Boot 工程 | 入门 | spring-boot-essentials |
| Android Compose | 直觉 | 专项 Android track |
| Ktor 服务端 | 入门 | 可自建小项目 |
进阶路线
| 方向 | 建议 |
|---|---|
| Spring Boot 后端 | /tracks/spring-boot-essentials · /roadmaps/spring-boot |
| Android 开发 | /roadmaps/kotlin Android 节点 |
| 协程深入 | kotlinx.coroutines 官方文档、Flow 操作符 |
| 跨平台 KMP | Kotlin Multiplatform 官方教程 |
毕业清单
- 完成 Spring Boot 课时 API,或 Console 协程版
- 通读本 track 12 课,能独立写 data class、处理空安全、用集合 API
- 在 /roadmaps/kotlin 相关节点完成至少一课
- 登录学员端,标记本课完成
小结
语言基础在本 track;工程化进 Spring Boot;Android 与 Ktor 按路线图选学。 恭喜完成 Kotlin 语言入门——接下来可选 Spring Boot、Android 或协程深入,按 /roadmaps/kotlin 一步步推进即可。