【发布时间】:2021-03-22 19:43:33
【问题描述】:
我正在寻找最简单的方法(尽可能少的代码/自定义)来提供 HTTP API 来从我的数据库中搜索对象。
到目前为止,我使用的是 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”谓词进行搜索,我不介意语法是否不同。
我找到了这个库:https://bitbucket.org/gt_tech/spring-data-querydsl-value-operators/src/master/,它似乎提供了我需要的东西。
我有点担心我需要一个新的依赖项,它不是来自 spring 本身。它是最好的解决方案吗?如果是这样,如何使它与我的项目一起工作?我尝试添加maven依赖,但它不起作用,我需要做其他事情吗?
谢谢
【问题讨论】:
标签: java spring spring-data querydsl