当前位置: 首页 > 面试题库 >

Spring Data Rest:用户的返回资源

诸正谊
2023-03-14
问题内容

我正在使用Spring Boot和Spring Data Rest创建一个简单的CRUD-
App(购物清单)。我有资源:ShoppingItem。是否有一种简单的方法可以只返回属于发送请求的用户的资源?(多个用户支持)因此,用户仅获得自己的ShoppingItems,而不是每个ShoppingItem。还是我必须由我自己实现一个Controller?

我发现Spring DataREST基于用户过滤数据,这种方法基于用户过滤资源,但这对于存储库端点没有帮助。

提前致谢


问题答案:

如果您使用的是Spring安全集成,则可以使用ACL(可能比较繁琐)或postFilter如下所示的简单方法:

public interface ShoppingItemRepository extends CrudRepository<ShoppingItem, Long> {
    @PostFilter("filterObject.user.getId() == principal.id")
    @Override
    Iterable<ShoppingItem> findAll();   
}


 类似资料:
  • 我试图在JPanel上显示图片,但一直出现错误: Java语言lang.IllegalArgumentException:input==null! 我不明白发生了什么。 这是我正在使用的代码: 这只会导致我得到错误! 堆栈跟踪产生以下结果: 我如何解决这个问题?我已经检查了图像的位置,并且从不同的位置尝试,总是得到相同的错误! 我正在使用Netbean IDE。

  • 我正在开发一个使用Firebase身份验证的Android应用程序。创建新用户后,我会发送一封验证电子邮件。 在我的清单中,我添加了一个Intent过滤器,当用户尝试打开验证链接时打开我的应用。 问题是,当链接打开我的应用程序时,电子邮件没有得到验证。我有一个总是返回false的验证 只有在Web资源管理器中打开验证链接时,验证才会返回true。如何验证应用内的电子邮件?

  • 我以为我的授权实现已经完成,但是当试图检索用户详细信息对象时,我得到的只是用户名。 我正在使用oauth,并提供以下详细信息。 配置AuthenticationManager: 完成后,我可以调试到我的userDetailsService: 这完成得很好,我的客户端得到了JWT。但是我在调试以后的控制器方法时发现了以下问题。 在本例中,injectedUser=null,auth是一个OAuth2

  • 这很奇怪,因为我有这样的路由:,它根本不工作,它不断返回

  • 问题内容: 我已经搜索了可能的解决方案。并且我尝试了循环以及mysql_fetch_assoc和mysql_fetch_array的变体,但我仍然遇到资源ID#5:0:错误。 这是我认为会产生错误的代码。 问题答案: “资源ID#5:0”不是错误。这意味着您试图而不是尝试使用变量,例如对于fetch_assoc 使用$ row [column],对于fetch_row使用$ row [0],对于f

  • 我正在使用mongodb社区版。我在mongodb中创建了一个用户。当使用该用户初始化配置时,该用户存在并且Vertx mongodb客户端成功启动。 var mongoconfig={“连接字符串”:mongodb://127.0.0.1:27017“,“db_name”:“admin”,“username”:“username”,“password”:“password”,“authSourc