java如何在Spring Rest mvc 5中获取Jackson对象映射器?
我想获得Spring 5创建、配置并用于序列化和反序列化Rest资源上的数据交换的ObjectMapper
(或映射器)(即调用readerForUpdating()或提供进一步的配置,如添加mixin)
我已经尝试了this question中提出的解决方案,但都没有成功:我没有使用Spring Boot,而且ObjectMapper
或MappingJackson2HttpMessageConverter
都不能@Autowired
特别是,我尝试从MappingJackson2HttpMessageConverter重新配置ObjectMapper:
@EnableWebMvc
@Configuration
@EnableSwagger2
@ComponentScan(basePackages=...)
public class WebappConfig implements WebMvcConfigurer {
@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
// ...
for(HttpMessageConverter<?> c : converters) {
if(c instanceof MappingJackson2HttpMessageConverter) {
ObjectMapper o = ((MappingJackson2HttpMessageConverter) c).getObjectMapper();
//o.configure(SerializationFeature.INDENT_OUTPUT, true);
o.addMixIn(WorkStamp.class, WorkStampApi.class);
}
}
//...
}
}
但这也不起作用,因为mixin从序列化对象中删除了一个字段,但生成的JSON仍然有该字段
共 (0) 个答案