Akka HTTP 快速入门

因为业务需求,需要对Akka HTTP进行快速学习

什么是Akka HTTP?

Akka HTTP 模块组在 akka-actor 和 akka-stream 的基础上实现了全HTTP栈( 服务器- 及客户- 端 )的功能

应用范围?

不需要前端页面,只需要通过REST/HTTP 提供接口连接的服务。

HTTP服务端的路由DSL?
路由DSL来描述HTTP"路由”和其相关处理
每个路由可以是一个或几个不同的Directive层级组合而成,每个路由则专注处理一个类型的请求。
通过 路由DSL 生成的 Route 对象 必须进行对应的“绑定”才能开始处理不同

HTTP Routes 是什么?
Route 是Routing DSL的核心概念。

type Route = RequestContext => Future[routeResult]

requestContext.complete(...)
by calling complete a given response is sent to the client as reaction to the request. I
返回对响应的请求

The Routing Tree

val route =
  a {
    b {
      c {
        ... // route 1
      } ~
      d {
        ... // route 2
      } ~
      ... // route 3
    } ~
    e {
      ... // route 4
    }
  }

不同层级下route调用情况如下
Route 1 will only be reached if directives a, b and c all let the request pass through.
Route 2 will run if a and b pass, c rejects and d passes.
Route 3 will run if a and b pass, but c and d reject.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容