【发布时间】:2021-05-12 20:05:54
【问题描述】:
在 Spring Boot 框架中开发的 web 服务中,我正在寻找一种方法来过滤响应中的几个敏感字段。我正在尝试使用 JsonFilter。这是我到目前为止尝试过的代码:
@ApiModel (value = "Customer")
@JsonInclude (JsonInclude.Include.NON_NULL)
@JsonFilter("CustomerFilter")
public class Customer implements Serializable
{
...
}
发送过滤响应的控制器代码:
MappingJacksonValue mappingJacksonValue = new MappingJacksonValue(customer);
FilterProvider filters = new
SimpleFilterProvider().setFailOnUnknownId(false).addFilter("CustomerFilter",
SimpleBeanPropertyFilter.filterOutAllExcept("customerId"));
mappingJacksonValue.setFilters(filters);
return ResponseEntity.status(HttpStatus.OK).body(mappingJacksonValue);
调用请求时,抛出以下异常。 com.fasterxml.jackson.databind.JsonMappingException:无法解析 ID 为“CustomerFilter”的 PropertyFilter;没有配置 FilterProvider
我是否缺少任何配置?
【问题讨论】:
-
我也有同样的问题。
标签: json spring-boot jackson