私は、グラスフィッシュサーバーで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;
}
...