У меня есть конечная точка, которая назначает список ролей одному пользователю .
@PutMapping(value = "/roles/{id}", consumes = MediaType.APPLICATION_JSON_VALUE)
public UserDto modifyRoles(
@ApiParam(value = "User ID", required = true) @PathVariable("id") Long id,
@ApiParam(value = "List of ID roles", required = true) @RequestBody List<Long> roles)
throws someExceptions {
return serviceClass.modifyUserRoles(id, roles);
}
Я хочу получить список пользователей а также список ролей , чтобы я мог назначить каждую роль каждому пользователю, но я не уверен, как это сделать, и должен ли я отправлять список пользователей через @PathVariable, или если я есть способ лучше. Вот что я пробовал:
@PutMapping(value = "/roles/{usersId}", consumes = MediaType.APPLICATION_JSON_VALUE)
public List<UserDto> modifyMultipleRoles(
@ApiParam(value = "List of User ID", required = true) @PathVariable("id") List<Long> ids,
@ApiParam(value = "List of ID roles", required = true) @RequestBody List<Long> roles)
throws someExceptions {
return serviceClass.newMethodThatAssignEachRoleToEachUser(ids, roles);
}
Это лучший способ сделать это? Это вообще сработает?
Спасибо
Ответ на обновление
Это то, что я пробовал прямо сейчас
List<Long> usersId=objectDto.getUsersId();
List<Long> rolesToAdd = objectDto.getRolesToAdd();
List<Long> rolesToDelete = objectDto.getRolesToRemove();
List<Usuario> users = usersId.stream()
.map(userId -> this.findById(userId))
.collect(Collectors.toList());
return users.stream().
// ????
Это способ продолжить?