将方法添加到所有Spring Data Rest控制器

时间:2019-02-04 14:42:54

标签: spring-data-rest

我在自定义控制器中使用示例查询在Spring Data Rest中实现了过滤器,如本answer中所述。

我希望我的所有实体都具有此过滤器。如何使用该过滤器的通用实现扩展Spring Data Rest?

1 个答案:

答案 0 :(得分:0)

向控制器添加@RequestMapping(value =“ / {repository} / filter”,method = RequestMethod.GET)。

向您的控制器添加@QuerydslPredicate RootResourceInformation resourceInformationMap<String,String> map参数。 resoureceInformation将包含实际实体类型的typeInfo(Spring Data Rest通过repository路径变量找到合适的实体)

如果具有typeInfo和所有属性名称值,则可以重新创建正确的example类型。

---------------编辑

我正在为Spring Data Rest进行扩展。基本上,这是一个访问控制扩展,但它也具有内置的搜索功能。 (甚至比此通用过滤器更灵活),但是仅由于搜索功能而切换到该程序包可能会有点过头。但是,如果可以找到其他有用的功能,则应考虑尝试一下。 ACL-search