【发布时间】:2017-07-30 17:07:29
【问题描述】:
我有以下需求查询:
"/article?category=kitchen&category=sports"
此查询在没有自定义绑定的情况下工作。它会给我所有的厨房和体育文章作为回应。它正在以某种方式进行 OR 操作。
但我需要自定义绑定,因为我需要输入案例。现在我正在使用这个自定义绑定:
@Repository
public interface ArticleRepository extends JpaRepository<Article, Long>,
QueryDslPredicateExecutor<QArticle>, QuerydslBinderCustomizer<QArticle> {
@Override
default public void customize(QuerydslBindings bindings, QArticle article) {
bindings.bind(String.class).first((StringPath path, String value) -> path.containsIgnoreCase(value));
}
}
这只会过滤属性的第一个可用值。因此,在这种情况下,它仅将厨房类别中的文章作为响应。类别(运动)的第二个值被忽略。
现在我的问题:我怎样才能得到 both 类别的文章而忽略大小写?我需要在自定义绑定中进行哪些更改才能实现这一目标?
非常感谢
【问题讨论】:
标签: java spring filter binding querydsl