喷涂路由缓存不要缓存404

时间:2016-07-28 14:46:18

标签: scala caching spray spray-routing

嘿家伙我使用spray route cache指令和routeCache方法来缓存我的api调用。 但问题是,如果api由于某种原因返回500,那么在这种情况下,喷雾也会缓存并持续返回500直到缓存过期。 那么如何在喷雾缓存中仅缓存200个OK响应,而不是其他。

1 个答案:

答案 0 :(得分:0)

以下工作

而不是做

ctx.complete(ErrorCode, Error)

确实

ctx.failWith(Error)

价:

(1)https://github.com/spray/spray/blob/master/spray-caching/src/main/scala/spray/caching/LruCache.scala#L79

使用failWith设置值isFailure,因此高速缓存未完成

(2)http://spray.io/documentation/1.2.2/spray-routing/route-directives/failWith/

要维护正确的状态代码,可以使用上面链接

中所述的自定义异常处理程序