我在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;
}
...
答案 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..
}
}