Implementing Dynamic Filtering for Rest API

 Implementing Static Filtering for Rest API

  • Dynamic Filtring: Customize filtering for a bean for specific REST Api
    • @Jsonfilter with filter Provider

At Conroller class


//********************** DYNAMIC FILTERING***********//

@GetMapping("/Dyfiltering")

public MappingJacksonValue dynamicFiltering() {

SomeBean someBean = new SomeBean("val1", "val2", "val3");

MappingJacksonValue mappingJacksonValue = new MappingJacksonValue(someBean);

SimpleBeanPropertyFilter filter = SimpleBeanPropertyFilter.filterOutAllExcept("field1", "field2");

SimpleFilterProvider filters = new SimpleFilterProvider().addFilter("SomeBeanFilter", filter);

mappingJacksonValue.setFilters(filters);

return mappingJacksonValue;

}


//********************** DYNAMIC FILTERING***********//


At Pojo Entity Class

@JsonFilter("SomeBeanFilter")

public class SomeBean {

private String field1;

private String field2;

private String field3;

public SomeBean(String field1, String field2, String field3) {

this.field1 = field1;

this.field2 = field2;

this.field3 = field3;

}

public String getField1() {

return field1;

}

public String getField2() {

return field2;

}

public String getField3() {

return field3;

}

}


Output


{ "field1": "val1", "field2": "val2" }



Similarlty can use List for filtering


//********************** DYNAMIC FILTERING***********//

@GetMapping("/Dyfiltering-list")

public MappingJacksonValue DynamicfilteringList() {

List<SomeBean> list = Arrays.asList(new SomeBean("value1", "value2", "value3"),

new SomeBean("value4", "value5", "value6"));

MappingJacksonValue mappingJacksonValue = new MappingJacksonValue(list);

SimpleBeanPropertyFilter filter = SimpleBeanPropertyFilter.filterOutAllExcept("field2", "field3");

SimpleFilterProvider filters = new SimpleFilterProvider().addFilter("SomeBeanFilter", filter);

mappingJacksonValue.setFilters(filters);

return mappingJacksonValue;

}


//********************** DYNAMIC FILTERING***********//

Comments

Popular posts from this blog

Introduction of RESTful Web Service

Learn JPA and Hibernate