Scala Web 开发——基于Akka HTTP Akka HTTP 前言 作者 Scala 环境配置 Sbt 安装 Sbt 创建一个 Sbt 项目 多项目工程 IDE开发工具 导入 Sbt 工程 小结 Scala 语言基础 REPL 你好,Scala Scala基础 变量、基础数据类型 运算符和命名 流程和函数 控制语句(表达式) 集合 class和object Class object 函数式 函数 模式匹配(match case) Trait 并发 小结 Akka HTTP 基础 Akka HTTP 基础 Web 工作方式 使用 Akka Http 搭建一个简单的 Web 服务 第一个服务 Route JSON Route类型 Akka HTTP 的通用抽象 HTTP Model URI Model Marshalling Unmarshalling Encoding / Decoding JSON Support XML Support Akka HTTP Timeouts 小结 服务端API Akka HTTP 如何使得 Web 工作 启动和停止 请求、响应生命周期 错误处理 高级服务端 API 路由DSL Route 路由 RequestContext RouteResult 组合路由 路由树 Directive 指令 指令基础 指令可以做什么? 组合指令 使用concat来连接多个指令 类型安全的指令 指令类型参数里的 Tuple (自动拉平 flattening) 自定义指令 命名配置 转换已存在的指令 从头开始实现一个指令 拒绝 rejections 异常处理 实战:大文件断点上传、下载和秒传 断点下载 断点上传 秒传 运行示例 小结 常用指令 PathDirectives(路径指令) Path示例 深入Uri.Path 深入PathMatcher directives/method.html directives/parameter_form.html directives/marshalling.html directives/file.html directives/cookie.html 数据 数据 JSON Jackson JacksonSupport 在 routing DSL 里使用 总结 实战:为Ant Design Pro提供后端接口 设置 Ant Design Pro 打包、部署 总结 Kryo Protobuf 小结 测试 测试 Scalatest 安装 ScalaTest 第一个测试用例 使用 Matchers OptionValues ScalaFutures Mock 测试异步代码 端到端测试Route Akka HTTP akka-http-testkit OrgRouteTest 总结 小结 Akka Actor Akka Typed Actor Hello Scala! 更复杂的一个示例 在ActorSystem[_]外部创建actor 小结 Akka Actor 测试 Actor测试 集群测试 Actor小结 实战:实现OAuth 2服务 实战:OAuth 2 服务 OAuth 2是如何工作的 为什么是JWT OAuth 2简介 OAuth 2 模式 OAuth 2接口设计 OAuth 2 API接口 OAuth 2服务实现 小结 访问数据库 访问数据库 使用 JDBC 访问 PostgreSQL PostgreSQL 访问数据库 使用 Slick 访问数据库 访问 Cassandra 数据库 Cassandra 数据模型 安装、配置 Cassandra Alpakka Cassandra Connector 访问 Redis 安装 添加库依赖 访问 Elasticsearch 安装 添加库依赖 小结 工程化 使用Swagger编写API文档 使用Guice管理类依赖 JSR-330 Akka gRPC gRPC服务 定义消息和服务 实现 gRPC 服务 测试 gRPC 服务 构建工具 sbt 配置 目录结构 部署 sbt-assembly sbt-native-packager 小结 实战:配置管理、服务发现系统 附录 参考资料 专业术语 词汇表 赞助 Edit this page 1.0.0