У меня есть пользователи Entity:Исключить столбец из набора результатов в контроллере | Весна данных JPA
public class SpringUsers implements Serializable {
private String password;
// other fields omitted
@Basic
@Column(name = "password")
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
И его хранилище:
public interface SpringUsersRepository extends CrudRepository<SpringUsers, Integer> {
SpringUsers findByUsername(String username);
List<SpringUsers> findByUserId(Integer userId);
}
И у меня есть метод контроллера, который должен получить список всех зарегистрированных пользователей с одинаковым USERID (это для внутреннего использования), как в настоящее время проверку подлинности пользователя:
public List<SpringUsers> getRegisteredUsers() {
CustomUserDetails authenticatedUserDetails = getCustomUserDetails();
List<SpringUsers> registered = springUsersRepository.findByUserId(
authenticatedUserDetails.getUserMyId());
return registered.stream().map(v -> {
v.setPassword(null);
return v;
}).collect(Collectors.toList());
}
Я не хочу, чтобы передать пароль (даже если он зашифрован) в веб-интерфейсе - поэтому я передаю пользователям и устанавливаю пароль равным нулю, как вы можете видеть выше.
Однако, мне интересно, если нет возможности просто не включать пароль пользователя в результат запроса в первую очередь?
Version Info:
Spring загрузки 1.4.0 & Hibernate 5.0.9.Final
Yap, Проецирование похоже на путь --- Я сделаю это, если не найду другого решения. Спасибо за совет! – baao