我有一个带有spring mvc的项目,我想从MapDeserializer全局调用方法“ setIgnorableProperties”,但我不知道如何从ObjectMapper中获得此类,您能帮我吗?谢谢。
我看到了,像这样:

@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
    mapDeserializer.getContentType();
    converters.forEach(httpMessageConverter -> {
        if (httpMessageConverter instanceof MappingJackson2HttpMessageConverter) {
            MappingJackson2HttpMessageConverter converter = (MappingJackson2HttpMessageConverter) httpMessageConverter;
            ObjectMapper mapper = converter.getObjectMapper();
            MapDeserializer mapDes = mapper.(What I have to invoke?) ;
            mapDes.setIgnorableProperties({"@id", "@ref"});
        }
    });
}

最佳答案

该属性并不意味着可以直接配置。您将需要对@JsonIgnoreProperties值的属性使用Map批注。
您可以通过以下方式创建便捷注释:

@Retention(RetentionPolicy.RUNTIME) // IMPORTANT
@JacksonAnnotationsInside
@JsonIgnoreProperties({ "@id", "@ref" })
public @interface MapIgnorals


然后像这样使用:

public class Stuff {
   @MapIgnorals public Map<String,Object> values;
}

10-08 15:21