spray笔记
文章平均质量分 80
杨过悔
这个作者很懒,什么都没留下…
展开
-
spray-caching缓存结果
1.想一想,如果我们有一个操作是非常耗时,而结果是不变的,或者结果变化的程度不大且可以延时出现(结果),那么我们没有必要重复性的去做这件事情或者在一定时间将结果进行复用,使用画画来看看我们假设黑线上的红点是原本要访问的时间点,然而但每次结果的差异不大时我们就可以复用上一次的结果,例子博客发表的帖数不到5以上就不显示,所以我们画出绿色的间隔表示,t1,t2,t3,t4,t5表示缓存间隔,原创 2015-08-25 20:15:43 · 728 阅读 · 0 评论 -
spray-routing与spray-can例子
我们利用spray-routing与spray-can监听指定的端口,让后返回指定的类型 记得严格按照spray与scala的版本,具体看官网name:="demo10"scalaVersion := "2.11.6"scalacOptions := Seq("-unchecked", "-deprecation", "-encoding", "utf8")原创 2015-09-09 19:46:17 · 2024 阅读 · 0 评论 -
spray-routing中的Exception Handling
使用ExceptionHandler来处理异常当spray-routing出现问题时我们可以使用ExceptionHandler来隐式来优雅的处理异常trait ExceptionHandler extends PartialFunction[Throwable, Route]由这个偏函数就可以知道,其实就是一个Throwable到Route的映射关系我们创建一个简单的服务让他在处原创 2015-09-10 11:03:13 · 587 阅读 · 0 评论 -
spray-routing 中 Custom Directives
具体的http://spray.io/documentation/1.2.3/spray-routing/advanced-topics/custom-directives/通过自定义Directives更加方便我们拓展这里从源码里挑出的一句概括 /** * A Directive that always passes the request on to its in原创 2015-09-10 15:54:54 · 746 阅读 · 0 评论 -
spray-routing使用Case Class Extraction
通过Case Class Extraction的方式我们也可以做到将请求参数包装成对象,也就是使用了Case Class Extraction抽取器,相当方便 构建route val route2 = get{ path("color"){ parameters('red.as[Int], 'green.as[Int], 'blue.as[原创 2015-09-10 13:48:00 · 572 阅读 · 0 评论 -
用来 authenticate 的 Directives
authenticate 这个Directives 使用了http的WWW-Authenticate来实现认证的功能,这个没怎用,百度了下http://blog.163.com/hongshaoguoguo@126/blog/static/18046981201322384241640/创建authenticate ,authenticate 跟route构建是原创 2015-09-10 17:16:42 · 466 阅读 · 0 评论 -
spray-can的初识
1.根据自已的理解其实spray-can的主要部分有 IO-HTTP,listener与handleIO-HTTP是我们的system actor后,listener actor前的一个actor,他负责管理TCP,HTTP等的"管理员"the manager actor for the given IO extension 而listener是一个注册在IO Actor的,绑原创 2015-09-12 15:11:25 · 991 阅读 · 0 评论 -
spray-scan , spray-client 与 spray-routing 简单的订阅系统
具体 http://spray.io/documentation/1.2.3/spray-client/1.构建service编写service的关键就是Directive,我们说过Directive的作用,下面我们侧重操作Directive的组合 我们通过 | , & 来简单的组合 val rightPath = post & authenticate(BasicA原创 2015-09-12 13:01:59 · 1253 阅读 · 0 评论 -
spray.testkit的使用
具体 http://spray.io/documentation/1.2.3/spray-testkit/ 依赖name:="demo9"transitiveClassifiers := Seq("sources", "javadoc")resolvers += "spray repo" at "http://repo.spray.io"libraryD原创 2015-09-11 21:54:16 · 760 阅读 · 0 评论