【问题标题】:Add method to all Spring Data Rest controllers向所有 Spring Data Rest 控制器添加方法
【发布时间】:2019-06-28 08:03:33
【问题描述】:

我在自定义控制器中使用 Query by Example 为 Spring Data Rest 实现了一个过滤器,如 answer 中所述。

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

【问题讨论】:

  • 为什么不直接使用开箱即用的 QueryDsl 支持?

标签: spring-data-rest


【解决方案1】:

将@RequestMapping(value = "/{repository}/filter", method = RequestMethod.GET) 添加到控制器。

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

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

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

我正在开发 Spring Data Rest 的扩展。基本上它是一个访问控制扩展,但它也有一个内置的搜索功能。 (甚至比这个通用过滤器更灵活)但是,仅仅因为搜索功能而切换到这个包会有点矫枉过正。但如果能找到一些其他有用的功能,你应该考虑尝试一下。 ACL-search

【讨论】:

    猜你喜欢
    • 2011-10-26
    • 2010-11-06
    • 2016-08-14
    • 1970-01-01
    • 1970-01-01
    • 2017-08-15
    • 2016-02-07
    • 1970-01-01
    • 2020-05-05
    相关资源
    最近更新 更多