基于Spring Data REST

时间:2018-04-20 10:59:43

标签: java spring spring-mvc spring-data spring-data-rest

我有基于Spring Data REST的Spring Boot Web应用程序。通常,我添加了扩展JpaRepositoryQueryDslPredicateExecutorQuerydslBinderCustomizer的接口。

Spring Data REST会将所有查询方法公开为search resources。 对于持久性字段,一切都很好,并且Spring Data的Web支持很好地将HTTP请求参数映射到实体中的持久字段,例如。

@Getter
@Entity
public class Person extends AbstractEntity<Long> {

    // persistent fields
    @Embedded
    private PersonName name;

    @Embedded
    private PersonSurname surname;

    @Embedded
    private Age age;

    // derived field
    Status status() {
        return age.isGreaterThan(30) ? Status.MARRIED : Status.FREE;
    }

    public enum Status {
        MARRIED,
        FREE;
    }

}

由于QueryDSL支持,我可以发出过滤或排序请求,我也可以组合多个过滤器和排序。

如何根据派生属性进行过滤和排序,例如上面Status类中的Person? 并使其与典型的过滤和排序功能兼容,例如:我可以发出http://localhost:8080/people?name=Alice&status=MARRIED

0 个答案:

没有答案