【发布时间】:2022-12-03 03:17:30
【问题描述】:
我想在我的UserServiceImpl 中使用一种方法中的集合来返回将由UserDTO 参数化的所有用户的列表。
我有以下方法:
@Override
public List<UserEntity> getUsers() {
var usersList = userRepository.findAll();
return usersList;
}
但我想将其更改为 public List<UserDTO> getUsers()... 我有从实体到 dto 的 map 方法,反之亦然:
public UserDTO mapToUserDTO(UserEntity userEntity) {
var userDto = new UserDTO();
var rolesEntity = userEntity.getRoles().stream()
.map(RoleEntity::getId)
.map(String::valueOf)
.collect(Collectors.toList());
userDto.setId(userEntity.getId());
userDto.setUsername(userEntity.getUsername());
userDto.setName(userEntity.getName());
userDto.setSurname(userEntity.getSurname());
userDto.setEmail(userEntity.getEmail());
userDto.setAge(userEntity.getAge());
userDto.setRoles(rolesEntity);
return userDto;
}
但在这种情况下不能应用。
你能帮帮我吗 - 如何在我的方法中将参数化类型从 UserEntity 更改为 UserDTO?
【问题讨论】:
标签: java rest collections stream