REST API 用に Spring で Jersey を使用しており、JSON シリアライゼーションを変更するプロバイダーを作成しました。問題は、@Component
アノテーションを使用すると、プロバイダーのコールバック メソッドが他のサーブレットに対して呼び出されることです。注釈を削除する@Component
と、まったく呼び出されません。
プロバイダーは次のとおりです。
@Component
@Provider
public class ObjectMapperProvider implements ContextResolver<ObjectMapper> {
public ObjectMapperProvider() {
}
@Override
public ObjectMapper getContext(Class<?> type) {
ObjectMapper objectMapper = new ObjectMapper();
SimpleModule module = new SimpleModule("SimpleModule", new org.codehaus.jackson.Version(1, 0, 0, null));
module.addSerializer(BigInteger.class, new ToStringSerializer());
objectMapper.registerModule(module);
return objectMapper;
}
}
web.xml で Jersey 構成を使用しようとしましたが、それも役に立ちませんでした。
何か案は?