0

私は、グラスフィッシュサーバーでJerseyの最新リリース(2.13)を最新バージョンのjackson(バージョン.2.4)とともに使用しています。カスタム ObjectMapper を作成して登録しましたが、カスタム ObjectMapper によってシリアル化されるのはコレクションだけのようです。

このページで同様の問題を見てきました: https://java.net/jira/browse/GLASSFISH-20815 しかし、そこに提示された回避策は私にとってはうまくいきませんでした。

私のジャージーマッパープロバイダークラス:

@Provider public class 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;
}

...

4

1 に答える 1

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..

}
}
于 2014-11-12T11:51:15.660 に答える