我已阅读以下问题:
https://stackoverflow.com/a/25609465/2674303
我有 spring-mvc 应用程序。如果我用 @ResponseBody
注释注释 Controller 方法并在方法内返回对象,则服务器将 json 提供给客户端。我在类路径中有 Jackson。
在提到的例子中写了下面的代码
ObjectMapper mapper = new ObjectMapper();
mapper.setFilters(new SimpleFilterProvider().addFilter("filter", new ExcludeIdFilter()));
据我所知,这段代码已经写在 spring 内部的某个地方......
请说明如何注册自定义 jackson 过滤器?
最佳答案
您可以像这样配置您自己的 MappingJackson2HttpMessageConverter
实例:
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
ObjectMapper mapper = Jackson2ObjectMapperBuilder().json()
.filters(new SimpleFilterProvider().addFilter("filter", new ExcludeIdFilter()));
MappingJackson2HttpMessageConverter converter =
new MappingJackson2HttpMessageConverter(mapper);
// then replace the default MappingJackson2HttpMessageConverter
// with your custom one in the list of configured converters
}
}
关于java - 如何在 spring 应用程序中注册自定义 jackson 过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31029370/