在方法/服务级别上过滤scrooge API的最简单方法是什么?

时间:2018-09-25 04:51:00

标签: scala thrift scrooge

我想知道是否有一种简单的方法可以在服务或方法级别向Scrooge thrift API添加过滤器(例如进行序列化请求日志记录)?我目前在Scrooge 18.6.0上,但是可以根据需要进行升级。

我已经可以在服务中添加过滤器,但是代码很丑陋,我很难把解决方案卖给同事。我遇到的问题是:

  • 没有现成的方法来过滤MethodPerEndpoint
  • 没有生成将ServicePerEndpoint转换为MethodPerEndpoint的代码,反之亦然
  • IMO扩展ServicePerEndpoint界面非常丑陋,而且不清楚。
  • 即使在扩展ServicePerEndpoint时,基本实现也具有filtered方法,该方法只会丢弃并忽略提供的过滤器(非常神秘!)
  • 有一个生成的ServicePerEndpointImpl,它具有filtered的有效实现,但该类是ServicePerEndpoint对象和final的私有对象

这一切都意味着,除了必须扩展ServicePerEndpoint之外,我最终不得不添加样板文件,以分别将必需的过滤器添加到每个方法中,或者创建一个可过滤的{来自我的ServicePerEndpointImpl的{​​1}},内容如下:

ServicePerEndpoint

整个事情似乎非常不必要。有没有更简单的方法?

0 个答案:

没有答案