我正在寻找最简单的方法(尽可能少的代码/定制)来提供一个httpapi来从我的数据库中搜索对象。
到目前为止,我使用的是querydsl和一个spring控制器,它只是委托给底层存储库:
@GetMapping("/folder")
@ResponseBody
public Iterable<Folder> getFolders(Predicate p) {
return repo.findAll(p);
}
这很有效。例如,我可以做:
http://localhost/api/folder/owner=foo
它返回拥有所有者的所有文件夹 foo
.
但是,我无法搜索以给定关键字开头的字段。我希望能够做到这一点:
http://localhost/api/folder/name=foo*
它将返回以开头的所有文件夹 foo
. 我不介意语法是否不同,只要我可以用'startswith' predicate 搜索。
我找到了这个图书馆:https://bitbucket.org/gt_tech/spring-data-querydsl-value-operators/src/master/ 似乎能满足我的需要。
我有点担心我需要一个新的依赖项,它不是来自spring本身。这是最好的解决方案吗?如果是这样,如何使它与我的项目一起工作?我尝试添加maven依赖项,但它不起作用,我需要做些别的吗?
谢谢
1条答案
按热度按时间oymdgrw71#
您可以重写绑定以使用类似表达式,如下所示: