Akka-http routing DSL在Route运算中抛出的异常是由内向外浮出的:当内层Route未能捕获异常时,外一层Route会接着尝试捕捉,依次向外扩展.Akka-http提供了ExceptionHandler类来处理Route运算产生的异常: trait ExceptionHandler extends ExceptionHandler.PF { /** * Creates a new [[ExceptionHandler]] which uses the given one as…
在前面的讨论里我们提到自由数据结构就是产生某种类型的最简化结构,比如:free monoid, free monad, free category等等.我们也证明了List[A]是个free monoid.我们再看看free monad结构Free的定义:scalaz/Free.scala /** A free operational monad for some functor `S`. Binding is done using the heap instead of the stack,…
Akka-http是一项系统集成工具.这主要依赖系统之间的数据交换功能.因为程序内数据表达形式与网上传输的数据格式是不相同的,所以需要对程序高级结构化的数据进行转换(marshalling or serializing)成为可在网上传输的数据格式.由于可能涉及到异类系统集成,网上传输数据格式是一个公开的标准,这样大家才都可以进行解析.Json就是是一个目前业界普遍接受的网上交换数据格式.当然,所谓的数据格式转换应该是双向的,还需要包括把接收的网上传输数据转换成程序高级结构化数据. Akka-ht…