Skip to content

jackpanz/jfilter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jfilter

Dynamic filter object properties in the controller. Support spring mvc and spring boot. Version requirement.

  • spring 4.2+ 4.3+ .
  • spring 5.0+ .
  • jackson 2.8.0+ .

Download

Gradle:

dependencies {
  implementation 'com.github.jackpanz:jfilter:1.0.1'
}

Maven:

<dependency>
  <groupId>com.github.jackpanz</groupId>
  <artifactId>jfilter</artifactId>
  <version>1.0.1</version>
</dependency>

spring 4.2+ 4.3+

com.github.jackpanz.json.spring4.JFilterHttpMessageConverter

spring 5.0+

com.github.jackpanz.json.spring5.JFilterHttpMessageConverter

spring boot

@ComponentScan({"com.github.jackpanz.json"})
@Order(0)
@Bean
public JFilterHttpMessageConverter jFilterHttpMessageConverter(ObjectMapper objectMapper) {
    JFilterHttpMessageConverter messageConverter = new JFilterHttpMessageConverter(objectMapper);
    return messageConverter;
}

spring mvc

<context:component-scan base-package="com.github.jackpanz.json"/>
<mvc:annotation-driven>
    <mvc:message-converters>
        <bean class="com.github.jackpanz.json.spring4.JFilterHttpMessageConverter">
            <property name="supportedMediaTypes">
                <list>
                    <value>text/html;charset=UTF-8</value>
                    <value>application/json;charset=UTF-8</value>
                </list>
            </property>
        </bean>
    </mvc:message-converters>
</mvc:annotation-driven>

Usage

Only Object

@JFilter(clazz = User.class, property = "id,status")
@ResponseBody
@RequestMapping("users")
public List users() {
    ...
}

Multiple Object

@JFilters({
        @JFilter(clazz = User.class, property = "id,status")
        , @JFilter(clazz = Admin.class, property = "password,create_date")
})
@ResponseBody
@RequestMapping("maps")
public List maps() {
   ...
}

RestController

@JFilter(clazz = User.class, property = "id,status")
@GetMapping("rmaps")
public List maps() {
    ...
}

About

Dynamic filtering spring controller json property library

Resources

Stars

Watchers

Forks

Packages

No packages published