大家好,我正在使用带有 routeCache 方法的喷雾路由缓存指令来缓存我的 api 调用。
但问题是,如果您的 api 由于某种原因返回 500,那么在这种情况下,spray 也会缓存该值并继续返回 500,直到缓存过期。
那么我怎样才能在喷雾缓存中只缓存 200 个 OK 响应而不是其他响应。
大家好,我正在使用带有 routeCache 方法的喷雾路由缓存指令来缓存我的 api 调用。
但问题是,如果您的 api 由于某种原因返回 500,那么在这种情况下,spray 也会缓存该值并继续返回 500,直到缓存过期。
那么我怎样才能在喷雾缓存中只缓存 200 个 OK 响应而不是其他响应。
以下工作
而不是做
ctx.complete(ErrorCode, Error)
做过
ctx.failWith(Error)
参考:
设置了failWith
值isFailure
,因此未设置缓存
(2) http://spray.io/documentation/1.2.2/spray-routing/route-directives/failWith/
为了维护正确的状态代码,可以使用上面链接中解释的自定义异常处理程序