我正在使用Spring Boot和Spring Data Rest创建一个简单的CRUD-App(购物清单) . 我有一个资源: ShoppingItem
. 是否有一种简单的方法只返回属于发送请求的用户的资源? (多用户支持)因此,用户只能获得自己的ShoppingItems而不是每个ShoppingItem . 或者我必须自己实现一个控制器,我这样做?
我找到了Spring Data REST filtering data based on the user这种基于用户过滤资源的方法,但这对我的存储库 endpoints 没有帮助 .
提前致谢
3 回答
如果您正在使用Spring安全集成,您可以使用ACL(可能很重)或简单的
postFilter
,如下所示:我最近解决了这个问题,请参阅Spring Data Rest Override Repositories (Controllers vs AOP)
我发现最优雅的解决方案是使用AOP,这个示例包含QueryDSL和Spring Data REST Repositories:
您最好实现Controller,原因如下:
想象一下,你的应用程序有一些管理界面可以查看所有购物清单(像管理员帐户一样)
或者您需要在某些基于cron的作业中操作购物清单(缺少用途)