我正在从v0.7.1升级到v0.8,并且发现我们正在使用的Jersey过滤器功能已被弃用。以下一行:
environment.jersey().getResourceConfig().getContainerRequestFilters().add(new FilterAuthentication());
(与DW manual几乎完全相同)
现在给出了一个编译器错误:
"The method
getContainerRequestFilters()is undefined for the Type
{ResourceConfig {1}}
请有人指出我如何升级此功能的正确方向。 非常感谢
答案 0 :(得分:3)
Dropwizard 0.8.x使用Jersey 2.x. ResourceConfig
中的大多数方法都发生了变化。对于Jersey 2,您可以使用通用register
方法,用于绑定任何JAX-RS组件。
Dropwizard还有register
方法链接到jersey()
,因此我们 无法呼叫getResourceConfig()
,因为jersey().register()
将转发到配置的register
方法。
所以其中任何一个都可行
env.jersey().register(...);
env.jersey().getResourceConfig().register(...);
另见泽西岛2 ResourceConfig API