JavaSpring多对多表和getmapping端点,用于查看该表中的一项内容
我有两个表用户和组。在用户模型中,它们通过多对多关系进行关联:JavaSpring多对多表和getmapping端点,用于查看该表中的一项内容,java,spring,many-to-many,endpoint,get-mapping,Java,Spring,Many To Many,Endpoint,Get Mapping,我有两个表用户和组。在用户模型中,它们通过多对多关系进行关联: @ManyToMany(fetch = FetchType.LAZY) @JoinTable( name = "user_group", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = &quo
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(
name = "user_group",
joinColumns = @JoinColumn(name = "user_id"),
inverseJoinColumns = @JoinColumn(name = "group_id")
)
private Set<Group> groups = new HashSet<>();
@ManyToMany(fetch=FetchType.LAZY)
@可接合(
name=“user\u group”,
joinColumns=@JoinColumn(name=“user\u id”),
inverseJoinColumns=@JoinColumn(name=“group\u id”)
)
私有集组=新HashSet();
我为返回用户组生成了:public Set getGroups(){return groups;}
现在我想为用户所属的查看组创建端点。
我通过以下方式获取当前记录的用户数据:
GroupController中的“@AuthenticationPrincipal UserDetailsImpl userDetails”:
@GetMapping("/usergroups")
public CollectionModel<Group> userGroups(@AuthenticationPrincipal UserDetailsImpl userDetails){
List<Group> groups = (List<Group>) groupControllerService.userGroups(userDetails);
return CollectionModel.of(groups,linkTo(methodOn(GroupController.class).all()).withSelfRel()); }
@GetMapping(“/usergroups”)
公共集合模型用户组(@AuthenticationPrincipal UserDetailsImpl userDetails){
列表组=(列表)groupControllerService.userGroups(userDetails);
返回CollectionModel.of(groups,linkTo(methodOn(GroupController.class).all()).withSelfRel());}
在GroupControllerService中:
public List<Group> userGroups(UserDetailsImpl userDetails){
Long userId = userDetails.getId();
User user = userRepository.findByUserId(userId);
var groups = user.getGroups();
return List.copyOf(groups);
}
公共列表用户组(UserDetailsImpl userDetails){
Long userId=userDetails.getId();
User=userRepository.findByUserId(userId);
var groups=user.getGroups();
返回列表。副本(组);
}
但它并没有将理想的值返回到前端