使用@PostFilter的java筛选器嵌套/内联集合
使用@PostFilter
注释筛选嵌套/内联集合时遇到问题。我的数据模型如下:
+--------+ 1 * +----------+ 1 * +---------------+
| Course |------>| Exercise |------>| Participation |
+--------+ +----------+ +===============+
| user: String |
+---------------+
我基本上只想在JSON响应中包含那些用户等于当前已验证用户的参与
我已经覆盖了我的存储库接口中的findAll
方法,该接口扩展了CrudRepository
,并添加了@PostFilter
注释:
@RepositoryRestResource(exported = false)
public interface ParticipationRepository extends CrudRepository<Participation, Long> {
@Override
@PostFilter("filterObject.user == principal.username")
Iterable<Participation> findAll();
@Override
@PostFilter("filterObject.user == principal.username")
Iterable<Participation> findAll(Iterable<Long> longs);
}
我还尝试在getter方法上为练习类中的参与者添加注释
但是,启用了Spring安全调试后,我可以看到PostFilter表达式从未被应用。我想这可能是因为SpringDataREST没有使用我注释的方法之一来获取参与
有没有人遇到过类似的问题并找到了解决方案?提前谢谢
共 (0) 个答案