我意识到这些是内部API,但是如果内部可以使用它们,为什么不让特权较低的人群使用它们,它们也非常有用。即使这些API在Jersey 2.25中是内部的,也可以使用,并且我想在不破坏自定义Jersey扩展的情况下升级Jersey版本。
当然可以ValueParamProvider在Jersey 2.27中进行扩展,但是我再也看不到一种注册该Provider及其触发注释的方法。查看Jersey如何针对自己的实现执行此操作,现在使用BoostrapConfigurator,它似乎已被内部化,以至于外部实现无法使用相同的方法。
也许我对此有误,如果有人对方法有清晰的描述,那就太好了。否则,有人知道做相同事情的方法吗?
这曾经工作...
ResourceConfig resourcceConfig = ...
resourceConfig.register(new AbstractBinder() {
@Override
protected void configure (){
bind(MyParamValueFactoryProvider.class).to(ValueFactoryProvider.class).in(Singleton.class);
bind(MyParamInjectionResolver.class).to(new TypeLiteral<InjectionResolver<EntityParam>>() {
}).in(Singleton.class);
}
}
});
Run Code Online (Sandbox Code Playgroud)
有了适当的实现AbstractValueFactoryProvider和ParamInjectionResolver。
现在看来您需要实现ValueParamProvider,这很容易,但是我不确定如何再使用Jersey框架正确进行注册。任何帮助表示赞赏。