【问题标题】:Spring & Jackson: Exclude all properties, but specify certain ones to includeSpring & Jackson:排除所有属性,但指定要包含的某些属性
【发布时间】:2015-03-14 20:38:02
【问题描述】:

我有以下 Spring 控制器声明

@RequestMapping(value = "/pub/searchparm", method = RequestMethod.GET, produces = {"application/json", "application/xml" })
    public SearchResult search(HttpServletRequest request) {

public class SearchResult {

   private int size;

   private Collection<result> results;

...

}

我需要让 Jackson 默认忽略 Collection 中对象的所有属性,默认情况下仅针对此控制器方法。

我查看了@JsonView、@JsonFilter... 等。Jackson 默认包含对象的所有属性,但我有敏感信息,我只想从安全 url 公开。这个 url 是公开的,我只想公开一些属性。

【问题讨论】:

    标签: spring-mvc jackson


    【解决方案1】:

    您可以在 Spring MVC 中使用 Jackson @JsonView 支持。 请注意,Spring MVC 支持选择设置MapperFeature.DEFAULT_VIEW_INCLUSION,以便仅序列化@JsonView 注释的属性。

    this blog post on Jackson support in Spring MVC

    【讨论】:

      猜你喜欢
      • 2013-01-14
      • 1970-01-01
      • 1970-01-01
      • 2016-12-13
      • 1970-01-01
      • 2018-05-24
      • 2011-08-09
      • 1970-01-01
      • 2021-01-09
      相关资源
      最近更新 更多