我正在使用 Spring Boot 和 Spring Data Rest 创建一个简单的 CRUD 应用程序(购物 list )。我有一个资源:ShoppingItem
。有没有一种简单的方法可以只返回属于发送请求的用户的资源? (多用户支持)所以一个用户只能得到他自己的 ShoppingItems 而不是每个 ShoppingItem。
或者我必须自己实现一个 Controller ,我在哪里做?
我找到了 Spring Data REST filtering data based on the user这种基于用户过滤资源的方法,但这对存储库端点没有帮助。
提前致谢
最佳答案
如果您正在使用 Spring 安全集成,您可以使用 ACL(可能很重)或简单的 postFilter
,如下所示:
public interface ShoppingItemRepository extends CrudRepository<ShoppingItem, Long> {
@PostFilter("filterObject.user.getId() == principal.id")
@Override
Iterable<ShoppingItem> findAll();
}
关于java - Spring 数据休息 : Return Resources of User,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30834138/