Java 使用Jersey在反序列化上下文中存储变量
我有一个MyClass的自定义JSON反序列化程序,声明如下:Java 使用Jersey在反序列化上下文中存储变量,java,jackson,jersey,json-deserialization,Java,Jackson,Jersey,Json Deserialization,我有一个MyClass的自定义JSON反序列化程序,声明如下: @JsonDeserialize(using=MyClassDeserializer.class) public class MyClass { ... 定义为 public class MyClassDeserializer extends JsonDeserializer<MyClass> { @Override public MyClass deserialize(JsonParser jso
@JsonDeserialize(using=MyClassDeserializer.class)
public class MyClass {
...
定义为
public class MyClassDeserializer extends JsonDeserializer<MyClass> {
@Override
public MyClass deserialize(JsonParser jsonParser, DeserializationContext ctxt) {
...
我的问题是:如何在反序列化上下文中存储变量
我看到了,但我没有显式地创建映射器。通过在反序列化方法中添加以下内容来实现这一点:
Long value = (Long) ctxt.findInjectableValue("abc", null, null);
在调用创建客户端之前,请执行以下操作:
ObjectMapper mapper = new ObjectMapper();
mapper.setInjectableValues(newInjectableValues());
JacksonJaxbJsonProvider jacksonProvider = new JacksonJaxbJsonProvider();
jacksonProvider.setMapper(mapper);
clientConfig.getSingletons().add(jacksonProvider);
ObjectMapper mapper = new ObjectMapper();
mapper.setInjectableValues(newInjectableValues());
JacksonJaxbJsonProvider jacksonProvider = new JacksonJaxbJsonProvider();
jacksonProvider.setMapper(mapper);
clientConfig.getSingletons().add(jacksonProvider);