我在玻璃鱼服务器上使用最新版本的泽西岛(2.13)以及最新版本的杰克逊(版本2.4)。我已经编写并注册了一个自定义 ObjectMapper,但它似乎只有集合由我的自定义对象映射器序列化。
我在此页面上看到了类似的问题:https://java.net/jira/browse/GLASSFISH-20815但是那里提出的解决方法对我不起作用。
我的球衣映射器提供程序类:
@Providerpublic 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;
}
。
好的,突然间它通过向我的资源配置添加以下功能来工作...
@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..
}
}