Python中文网

一个关于 编程问题的解答网站.

有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在Spring Rest mvc 5中获取Jackson对象映射器?

我想获得Spring 5创建、配置并用于序列化和反序列化Rest资源上的数据交换的ObjectMapper(或映射器)(即调用readerForUpdating()或提供进一步的配置,如添加mixin)

我已经尝试了this question中提出的解决方案,但都没有成功:我没有使用Spring Boot,而且ObjectMapperMappingJackson2HttpMessageConverter都不能@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) 个答案