不能使用自定义对象映射器为球衣中的单个对象(适用于集合)

时间:2014-11-12 11:29:33

标签: glassfish jersey jackson jersey-2.0 fasterxml

我在glassfish服务器上使用最新版本的Jersey(2.13)以及最新版本的jackson(版本2.4)。我已经编写并注册了一个自定义的ObjectMapper,但只有集合似乎是由我的自定义objectmapper序列化的。

我在此页面看到了类似的问题:https://java.net/jira/browse/GLASSFISH-20815 但那里提出的解决方法对我没用。

我的泽西地图提供者类:

@Provider 公共类JerseyMapperProvider实现ContextResolver {

private static ObjectMapper apiMapper = null;

public JerseyMapperProvider() {
}

@Override
public ObjectMapper getContext(Class<?> type) {
    System.out.println(type.toString() + " this is only printed for collections...");
    if (apiMapper == null) {
        apiMapper = getDefaultObjectMapper();
    }
    return apiMapper;
}

...

1 个答案:

答案 0 :(得分:0)

好吧,突然它通过将以下功能添加到我的resourceConfig ...

@ApplicationPath("/")

public class JerseyConfig extends ResourceConfig {

public JerseyConfig() {
    super();
    Map<String, Object> map = new HashMap<>();
    map.put(CommonProperties.MOXY_JSON_FEATURE_DISABLE, true);
    map.put(CommonProperties.JSON_PROCESSING_FEATURE_DISABLE, true);
    addProperties(map);
    ....// more configuration here..

}
}