我试过
@Context ParamConverterProvider ctxProvider;
或
@Inject ParamConverterProvider ctxProvider;
或
@Inject javax.inject.Provider<ParamConverterProvider> ctxProvider;
这些似乎都不起作用,ctxProvider
是null
。是否真的可以注入任何@Provider
注释类,或者我错过了什么?
更新: 在JAX-RS 2.0应用程序中,我必须实现一个基本上将String值转换为特定数据类型的函数:
public <E> E convert(Class<E> type, String val)
对于每个已知的switch ... case
,我当然可以type
,但我想在JAX-RS容器中,我应该利用内置的ParamConverter
-s。
我不想依赖于实现,因此我试图注入ParamConverterProvider接口,希望jax运行时能够提供容器的正确实现。
正如@peeskillet指出的那样,现在我知道可能有多个ParamConverterProvider。
是否有可能以某种方式访问一个ParamConverter,就像JAX运行时根据排名和数据类型决定使用哪个转换器一样?