Spring & Jackson:排除所有属性,但指定要包含的某些属性
Spring & Jackson: Exclude all properties, but specify certain ones to include
我有以下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 包括对象的所有属性,但我有一些敏感信息,我只想从安全 urls 中公开这些信息。这个 url 是 public,我只想公开一些属性。
您可以在 Spring MVC 中使用 Jackson @JsonView
支持。
请注意,Spring MVC 支持选择设置 MapperFeature.DEFAULT_VIEW_INCLUSION
,因此只有 @JsonView
个注释属性被序列化。
我有以下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 包括对象的所有属性,但我有一些敏感信息,我只想从安全 urls 中公开这些信息。这个 url 是 public,我只想公开一些属性。
您可以在 Spring MVC 中使用 Jackson @JsonView
支持。
请注意,Spring MVC 支持选择设置 MapperFeature.DEFAULT_VIEW_INCLUSION
,因此只有 @JsonView
个注释属性被序列化。