实体关联更新的Spring Data REST事件

时间:2015-06-23 21:07:56

标签: spring rest spring-data spring-data-rest

创建新实体关联时是否有可用的弹簧数据休息事件处理程序?即将a输入到关联资源URL。

我与该关系的实体类是:

public class Group{
  @ManyToMany
  @JoinTable(name = "user_groups",
           joinColumns = @JoinColumn(name = "group_id"),
           inverseJoinColumns = @JoinColumn(name = "user_id")
  )
  private List<User> users;
}

我已尝试将PUT添加到/ groups / [id] / users,这会将用户成功附加到组中,但我找不到可在此类事件之后使用的事件处理程序。

我还尝试使用链接对象使用PUT更新到/ groups / [id] / users,这也成功地附加了对象:

{"_links":
  {"users": 
    {"href" : "http://localhost:8084/users/1"} 
  }
}

我的两个尝试事件处理程序是:

@HandleAfterLinkSave
public void handleGroupUpdate(Group g, User u){
    log.debug("User "+u.getUsername() +"added to group "+g.getName());
}

@HandleAfterLinkSave
public void handleGroupUpdateGen(Object g, Object u){
    log.debug("User "+u.toString() +"added to group "+g.toString());
}

活动:http://docs.spring.io/spring-data/rest/docs/current/reference/html/#events

协会资源:http://docs.spring.io/spring-data/rest/docs/2.3.0.RELEASE/reference/html/#repository-resources.association-resource

1 个答案:

答案 0 :(得分:1)

text / uri-list的正确参数是

public void handleGroupUpdate(Group g, List<User> u)

这与Group类内的users字段定义一致。