@JsonFilter return exception com.fasterxml.jackson.databind.exc.InvalidDefinitionException

Viewed 15

i am using @JsonFilter on class level @JsonFilter("partnerScoreFilter") which will be returned in webflux api. In configuration class i have added this simpleBeanPropertyFilter detail code as following.

@Configuration
public class JacksonConfiguration {
    public JacksonConfiguration(ObjectMapper objectMapper) {
        objectMapper.setFilterProvider(new SimpleFilterProvider().setFailOnUnknownId(false)
                .addFilter("partnerScoreFilter",
                        SimpleBeanPropertyFilter.serializeAllExcept("score")));
    }

}

But i got exception

nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot resolve PropertyFilter with id 'partnerScoreFilter'; no FilterProvider configured (through reference chain: java.util.ArrayList[0])
    at org.springframework.http.codec.json.AbstractJackson2Encoder.encodeValue(AbstractJackson2Encoder.java:230) ~[spring-web-5.3.22.jar:5.3.22]
    Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 

May u have any idea about why it does not work?

1 Answers

i noticed @JsonIgnoreProperties(value = "score") will help hide the field score.Therefore not need to have filter provider.

Related