重写JacksonFeature,并加入设置。
具体代码
具体代码
public boolean configure(FeatureContext context) {
Configuration config = context.getConfiguration();
String jsonFeature = (String)CommonProperties.getValue(config.getProperties(), config.getRuntimeType(), "jersey.config.jsonFeature", JSON_FEATURE, String.class);
if(!JSON_FEATURE.equalsIgnoreCase(jsonFeature)) {
return false;
} else {
context.property(PropertiesHelper.getPropertyNameForRuntime("jersey.config.jsonFeature", config.getRuntimeType()), JSON_FEATURE);
if(!config.isRegistered(JacksonJaxbJsonProvider.class)) {
context.register(JsonParseExceptionMapper.class);
context.register(JsonMappingExceptionMapper.class);
JacksonJaxbJsonProvider jacksonJaxbJsonProvider = new JacksonJaxbJsonProvider();
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY);
jacksonJaxbJsonProvider.setMapper(objectMapper);
context.register(jacksonJaxbJsonProvider, new Class[]{MessageBodyReader.class, MessageBodyWriter.class});
}
return true;
}
}