java.util.NoSuchElementException: значение отсутствует;Apache Cassandra - весенний ботинок - PullRequest
0 голосов
/ 28 мая 2019

Я использую следующую зависимость

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-cassandra</artifactId>
</dependency>

Мне нужно запросить таблицу users, которая присутствует в myks пространстве ключей

Из моей части контроллера, которую я вызываюслужба

userService.authenticateUser(username, password);

А в методе службы у меня есть вызов в хранилище

logger.info("Here : " + username);
boolean userExists = userRepository.existsById(username);
logger.info("userExists : " + userExists);
if (userExists) {
    User user = userRepository.findByusername(username).get();
    return user;
}
return null;

, а ниже - мой хранилище

@Repository
public interface UserRepository extends CrudRepository<User, String> {
    Optional<User> findByusername(final String username);
}

Предположим, в таблицеУ меня нет записи с пользователем kri_test, и пользователь отправляет ввод с именем пользователя kri_test, тогда я сталкиваюсь с исключением java.util.NoSuchElementException: No value present

Даже если он не печатает записи журнала, присутствующие вкласс обслуживания

1 Ответ

1 голос
/ 28 мая 2019

Это не имеет ничего общего с конфигурацией Cassandra и т. Д. Вы получаете Optional.empty () из userRepository.findByusername(username).И вы вызываете метод get() для этого, не вызывая сначала isPresent().

Вы можете решить проблему с этим одним вкладышем;

return userRepository.findByusername(username).orElse(null);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...