Java 如何配置Jersey以使用Delegating JSON反序列化器
我正在使用Jackson对需要进行后处理的对象进行反序列化。也就是说,一旦对象被反序列化,就需要对结果执行操作,以使其格式良好 我知道我可以扩展StdDelegatingDeserializer,并且我有一个适当类的实现。请注意,此对象的构造函数接受一个参数,它是另一个Java 如何配置Jersey以使用Delegating JSON反序列化器,java,jackson,deserialization,jackson-databind,Java,Jackson,Deserialization,Jackson Databind,我正在使用Jackson对需要进行后处理的对象进行反序列化。也就是说,一旦对象被反序列化,就需要对结果执行操作,以使其格式良好 我知道我可以扩展StdDelegatingDeserializer,并且我有一个适当类的实现。请注意,此对象的构造函数接受一个参数,它是另一个StdDelegatingDeserializer,这是我作为其委托的反序列化器 现在我需要在ObjectMapper中注册它。所以我有这个代码: @Provider public class CustomJsonProvider
StdDelegatingDeserializer
,这是我作为其委托的反序列化器
现在我需要在ObjectMapper
中注册它。所以我有这个代码:
@Provider
public class CustomJsonProvider extends JacksonJaxbJsonProvider {
private static ObjectMapper mapper = new ObjectMapper();
static {
SimpleModule module = new SimpleModule();
module.addDeserializer(MyClass.class, new MyClassDeserializer(<what goes here?>));
mapper.registerModule(module);
}
public CustomJsonProvider() {
super();
setMapper(mapper);
}
}
@Provider
公共类CustomJsonProvider扩展了JacksonJaxbJsonProvider{
私有静态ObjectMapper mapper=新ObjectMapper();
静止的{
SimpleModule=新的SimpleModule();
module.addDeserializer(MyClass.class,新的MyClassDeserializer());
映射器注册表模块(模块);
}
公共CustomJsonProvider(){
超级();
设置映射器(映射器);
}
}
我的问题是,在注册委托时,如何获得要传递给构造函数的委托器映射器?有没有办法从默认的ObjectMapper获取它?看一看。例如:,